站长资讯网
最全最丰富的资讯网站

什么是java构造器?怎么使用构造器?

1、怎么使用构造方法

通过一个类创建一个对象,这个过程叫做实例化。实例化就是通过调用构造方法(又叫做构造器)实现的。

1.1、什么是构造方法

方法名和类名一样(包括大小写)
没有返回类型
实例化一个对象的时候,必然调用构造方法

public class Hero {       String name;      float hp;      float armor;      int moveSpeed;      // 方法名和类名一样(包括大小写)     // 没有返回类型     public Hero() {         System.out.println("实例化一个对象的时候,必然调用构造方法");     }          public static void main(String[] args) {        //实例化一个对象的时候,必然调用构造方法         Hero h = new Hero();     } }

1.2、隐式的构造方法

Hero类的构造方法是

public Hero(){  }

这个无参的构造方法,如果不写,就会默认提供一个

public class Hero {           String name; //姓名           float hp; //血量           float armor; //护甲           int moveSpeed; //移动速度           //这个无参的构造方法,如果不写,     //就会默认提供一个无参的构造方法     //  public Hero(){      //      System.out.println("调用Hero的构造方法");     //  }       public static void main(String[] args) {         Hero garen =  new Hero();         garen.name = "盖伦";         garen.hp = 616.28f;         garen.armor = 27.536f;         garen.moveSpeed = 350;                   Hero teemo =  new Hero();         teemo.name = "提莫";         teemo.hp = 383f;         teemo.armor = 14f;         teemo.moveSpeed = 330;     }         }

1.3如果提供了一个有参的构造方法

一旦提供了一个有参的构造方法
同时又没有显式的提供一个无参的构造方法
那么默认的无参的构造方法,就“木有了“

public class Hero {            String name; //姓名            float hp; //血量            float armor; //护甲            int moveSpeed; //移动速度            //有参的构造方法     //默认的无参的构造方法就失效了     public Hero(String heroname){          name = heroname;     }           public static void main(String[] args) {         Hero garen =  new Hero("盖伦");                     Hero teemo =  new Hero(); //无参的构造方法“木有了”     }          }

1.4、构造方法的重载

和普通方法一样,构造方法也可以重载

 public class Hero {                     String name; //姓名                     float hp; //血量                     float armor; //护甲                     int moveSpeed; //移动速度                     //带一个参数的构造方法         public Hero(String heroname){              name = heroname;         }                  //带两个参数的构造方法         public Hero(String heroname,float herohp){              name = heroname;             hp = herohp;         }                    public static void main(String[] args) {             Hero garen =  new Hero("盖伦");              Hero teemo =  new Hero("提莫",383);         }               }

练习: 构造方法

(为Hero设计4个参数的构造方法
这四个参数分别是
String heroName
float heroHP
float heroArmor
int heroMoveSpeed)

答案:

public class Hero {              String name; //姓名              float hp; //血量              float armor; //护甲              int moveSpeed; //移动速度              //带一个参数的构造方法     public Hero(String heroname){          name = heroname;     }           //带两个参数的构造方法     public Hero(String heroname,float herohp){          name = heroname;         hp = herohp;     }    public Hero(String heroName,float heroHP,float heroArmor,int heroMoveSpeed){          name = heroName;         hp = heroHP;         armor = heroArmor;         moveSpeed=heroMoveSpeed;     }          public static void main(String[] args) {         Hero garen =  new Hero("盖伦");          Hero teemo =  new Hero("提莫",383);         Hero db =  new Hero("死哥",400,27,360);     }        }

想学习

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号