父类
public class Animal {
public String nameAnimal = "动物";
Animal(){
System.out.println("我是父类Animal的构造方法,不带参");
}
Animal(String str){
System.out.println("我是父类Animal的构造方法,"+str);
}
protected void eat(){
System.out.println("我是父类的eat方法--我是"+nameAnimal+",我是protected修饰的方法");
}
}
子类
public class Dog extends Animal {
Dog(){
// 默认执行super();
//super 一般放在第一行
super.eat();
System.out.println("我是Dog的构造方法");
this.eat();
}
public void eat(){
System.out.println("我覆盖了父类的eat方法");
}
}
测试方法
public class test {
public static void main(String[] args) {
Dog dog = new Dog();
Animal a= new Animal("带参");
}
}
结果
我是父类Animal的构造方法,不带参
我是父类的eat方法–我是动物,我是protected修饰的方法
我是Dog的构造方法
我覆盖了父类的eat方法
我是父类Animal的构造方法,带参