@[toc]
1.特点
- super“可以看做”是直接父类对象的引用。可通过 super 来访问父类中被子类覆盖的方
法或属性。
- 使用 super 调用普通方法,语句没有位置限制,可以在子类中随便调用。
- super()只能出现在构造方法的第一行,目的是:创建子类对象时,先初始化父类型特征。
- super不能出现在静态方法中。
2.实例
public class TestSuper01 {
public static void main(String[ ] args) {
new ChildAge().f();
}
}
class FatherAge {
public int age;
public void f(){
age = 50;
System.out.println ("父亲的年龄是:"+age);
}
}
class ChildAge extends FatherAge {
public int age;
public void f() {
super.f(); //调用父类的普通方法
age = 22;
System.out.println("孩子的年龄是"+age);
System.out.println(age);
System.out.println(super.age); //调用父类的成员变量
}
}
运行结果如图示:
我们看main方法中,ChildAge().f()。ChildAge()方法中的f()方法,
super.f();运行结果是,父亲的年龄是:50岁。调用了父类中的f()
System.out.println("孩子的年龄是"+age);直接打印
System.out.println(age);直接打印孩子的age 为22
System.out.println(super.age);super调用了父类中的age,打印出50