super的作用:super是直接父类对象的引用。可以通过super来访问父类中被子类覆盖的方法或属性。
public class Temp {
public static void main(String[] args) {
Father f = new Father();
Child c = new Child();
c.print();
}
}
class Father{
int value;
public void print() {
value=100;
System.out.println("在父类中,value被赋予了"+value);
}
}
class Child extends Father{
int value;
public void print() {
super.print();
System.out.println("在子类中,value被赋予了"+value);
value=200;
System.out.println("调用了父类的value属性"+super.value);
System.out.println("现在 子类中,value的值为"+value);
}
}
运行的结果为:
在父类中,value被赋予了100
在子类中,value被赋予了0
调用了父类的value属性100
现在 子类中,value的值为200
super与继承的测试
public class Temp {
public static void main(String[] args) {
Child2 ch = new Child2();
System.out.println(ch.toString());
}
@Override
public String toString() {
return "top";
}
}
class Child1 extends Temp{
@Override
public String toString() {
return super.toString();
}
}
class Child2 extends Child1{
@Override
public String toString() {
return super.toString();
}
}
运行结果:top