super关键字:在对象内部使用,可以代表父类对象
1.访问父类的属性
2.访问父类的方法
package untie;
public class Animal {
public int age=20;
public void eat(){
System.out.println("动物每天都要吃东西");
}
}
/*****************/
package untie;
public class Dog extends Animal {
public int age =10;
public void eat(){
System.out.println("狗吃骨头");//重写了父类方法
}
public void method(){
System.out.println(super.age);//输出父类的年龄;
System.out.println(age);//输出自身的年龄
super.eat();//调用父类的吃的方法
eat();//调用自身的吃方法
}
}
3.子类的构过程中必须调用其父类的构造方法,这里就涉及到隐式调用和显示调用。如果子类的构造方法中没有调用父类的构造方法,编译器会自动为我们在子类构造方法中添加一句super();即调用父类的无参构造方法,这种方式称为隐式。如果在子类构造方法中,自己调用父类的构造方法,必须放在子类的构造方法的第一行,这种方式称为显示。需要注意的是,如果子类的构造方法中既没有显示调用父类的构造方法,而父类又没有无参的构造方法,则编译出错。