类和对象系列教材 (四)- 怎么使用 Java 构造方法?

类和对象系列教材 (四)- 怎么使用 Java 构造方法?


通过一个类创建一个对象,这个过程叫做实例化

实例化是通过调用构造方法(又叫做构造器)实现的

步骤1:什么是构造方法
步骤2:隐式的构造方法
步骤3:如果提供了一个有参的构造方法
步骤4:构造方法的重载
步骤5:练习-构造方法
步骤6:答案-构造方法

步骤 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();

    }

 

}

步骤 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;

    }  

     

}

步骤 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(); //无参的构造方法“木有了”

    }  

      

}

步骤 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);

    }

     

}


更多内容,点击了解: https://how2j.cn/k/class-object/class-object-constructor/292.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值