52.继承下的构造方法
继承条件下构造方法的调用规则
- 子类构造方法没有通过super显示调用父类的有参构造方法,也通过this.显示调用自身其他构造方法
系统默认调用父类的无参构造方法
- 子类构造方法通过super显示调用父类的有参构造方法
执行父类相应构造方法,而不执行父类无参构造方法
- 子类构造方法通过this显示调用自身的其他构造方法,在相应构造方法中应用以上两条规则
//父类,提取共性代码Pet类
public class Pet {
//1.隐藏属性(添加private)
//昵称,默认值是“无名氏”
private String name="无名氏";
//1.health属性不被用户访问到 2.程序编写过程中要能控制health的赋值--方法中
/*if(this.health<0||this.health>100){
System.out.println("请输入0-100的值!");
this.health=60;
}else{
this.health=health;
}*/
//健康值,默认值是100,健康值在0-100之间,小于60为不健康
private int health=100;
//亲密度
private int love=0;
int age=5;
public Pet(){
System.out.println("父类无参构造方法");
}
public Pet(String name){
this.name=name;
}
public Pet(String name,int health,int love){
//this(name); //this可调用本类的构造方法,且必须在第一行
this.name=name;
this.health=health;
this.love=love;
System.out.println("父类的带参构造方法");
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
//2.添加属性的setter/getter方法(方法公开),并加入属性控制语句
//setter:1.属性赋值。2.属性的操作(正确判断等)
public void