美文网首页
重捡Java(七)类与对象 构造方法

重捡Java(七)类与对象 构造方法

作者: 我很惊讶 | 来源:发表于2020-05-10 21:25 被阅读0次

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

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

    构造方法与类名一致

    例:

    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();
        }
     
    }
    

    注意:构造方法是没有返回类型的
    一个典型错误

    public void Hero(String name){  //这一行加了一个void,这就不是构造方法了
      this.name = name;
    }
    public static void main(String[] args) {
            //实例化一个对象的时候,必然调用构造方法
            Hero h = new Hero("盖伦");//这里会报错
    }
    

    构造方法也可以不写,会默认提供一个这样的方法

    public Hero(){  
    }
    

    而如果提供了一个含参的构造函数,则不会再提供默认构造函数,此时再像以前那样创建对象就会出错

    public Hero(String name){  
      this.name = name;
    }
    public static void main(String[] args) {
            //实例化一个对象的时候,必然调用构造方法
            Hero h = new Hero();//这里会报错
    }
    

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

    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);
        }
         
    }
    

    相关文章

      网友评论

          本文标题:重捡Java(七)类与对象 构造方法

          本文链接:https://www.haomeiwen.com/subject/onpsnhtx.html