猫咪项目2)"/>
构造方法的介绍(猫咪项目2)
学习总结:
1、构造方法的特点
(1)构造方法与类同名且没有返回值
(2)语句格式
public 构造方法名(){
//初始化代码
}
(3)只能在对象实例化的时候调用。不能在方法中调用构造方法,同一个类的构造方法的调用只能在构造方法之间进行。【通过this();】
(4)当没有指定构造方法时,系统会自动添加无参的构造方法,当有,系统就不在添加。
出现问题:值未被正确传入
原因:就近原则
更正方案:
First:对name进行重命名(修改输入参数的参数名)
Second:使用this关键字,将值赋给当前对象,避免赋值不对称。
扩展:
this还可以用来调用方法。
package com.animals;public class Cat {//成员属性:昵称、年龄、体重、品种String name;int month;double weight;String species;
public Cat(){System.out.println("我是无参构造方法");
}
public Cat(String name,int month,double weight,String species){this();this.name=name;this.month=month;this.weight=weight;this.species=species;
}//方法:跑到、吃东西
public void run(){this.eat();System.out.println("小猫快跑");}
public void run(String name){this.eat();System.out.println(name+"快跑");
}
public void eat(){System.out.println("小猫吃鱼");
}
}
package com.animals;public class CatTest {public static void main(String[] args){Cat one=new Cat("花花",2,1000,"英国短毛猫"); // one.run();System.out.println("昵称:"+one.name);System.out.println("年龄:"+one.month);System.out.println("体重:"+one.weight);System.out.println("品种:"+one.species);one.run( );}
}
更多推荐
构造方法的介绍(猫咪项目2)
发布评论