• 类和对象系列教材 (四)- 怎么使用 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

  • 相关阅读:
    python入门 类的继承和聚合(五)
    如何快速找到多个字典中的公共键(1.4)
    python输入输出(二)
    python入门 集合(四)
    LOJ 3093: 洛谷 P5323: 「BJOI2019」光线
    LOJ 3049: 洛谷 P5284: 「十二省联考 2019」字符串问题
    【比赛游记】FJOI2019瞎打记
    ICPC World Finals 2019 题解
    LOJ 3043: 洛谷 P5280: 「ZJOI2019」线段树
    LOJ 2483: 洛谷 P4655: 「CEOI2017」Building Bridges
  • 原文地址:https://www.cnblogs.com/Lanht/p/12615575.html
Copyright © 2020-2023  润新知