super : 访问父类的成员
案例一: 当方法重写时, 区别子类和父类的方法和变量。
父类:
public class fulei {
int age=16;
public void Test01(){
System.out.println("父类的方法");
}
}
子类:
public class cat extends fulei {
int age = 19;
public void Test02(){
System.out.println("子类中的"+this.age); // 通过this来访问本类内容
System.out.println("父类中的"+super.age); // 通过super来访问父类内容
}
public void Test01(){
System.out.println("这是子类的方法");
}
public void Test03(){
this.Test01(); // 这是子类的方法
super.Test01(); //这是父类的方法
}
调用类:
public static void main(String[] args) {
cat d1 = new cat();
d1.Test02(); // 变量
d1.Test03(); //方法
}
案例二:由于子类不能继承父类的构造方法,所以用到了super();
super( ) 必须是在子类构造方法的方法体的第一行
父类:
public class fulei {
public fulei(String name,String school) {
System.out.println("名字:"+name+"n"+"学校:"+school);
}
public fulei(String name,char sex){
System.out.println("名字:"+name+"n"+"性别:" +sex);
}
}
子类:
public class cat extends fulei {
public cat(String name,String school){
super(name,school);
}
public cat(String name,char sex){
super(name, sex);
}
}
调用类:
public class diaoyong {
public static void main(String[] args) {
cat d1 = new cat("小李",'妖');
cat d2 = new cat("小郭","大肥羊学校");
}
}
输出内容:
名字:小李
性别:妖
名字:小郭
学校:大肥羊学校
这不简简单单?



