子类的实例化————————super 的应用
package inheritance;
class person{
private String name;
private int age;
public person(String name,int age){
this.name=name;
this.age=age;
}
void setName(String name){
this.name=name;
}
String getName(){
return this.name;
}
void setAge(int age){
this.age=age;
}
int getAge(){
return this.age;
}
}
class student extends person{
public student(String name,int age){
super(name,age);
}
}
class worker extends person{
public worker(String name,int age){
super(name,age);//只要使用父类的初始化动作就要在子类中使用super(参数/实参)
}
}
//在这里的构造函数中不能使用this.name=name————————因为name 在父类中是私有的,子类不能直接访问
public class SuperDemo {
public static void main(String[] args){
student st=new student("Mingming",21);
System.out.println(st.getName()+" "+st.getAge());
worker wk =new worker("XiaoHong",18);
System.out.println(wk.getName()+" "+wk.getAge());
}
}
输出 Mingming 21
XiaoHong 18
总结:super 的使用————在构造函数里——super(实参)
在方法覆盖中——super.方法名()
super:与this 不同不能将对象赋给super————是一个指示编译器调用超类的特殊关键字