首页 > 代码库 > 继承中的super解疑
继承中的super解疑
package Test;
public class TestExtends {
public static void main(String[] args) {
PersonB b = new PersonB();
System.out.println("============="+b.getName());
//PersonA a = new PersonA();
PersonA a = new PersonA("aaa");
//b.getName2("ddddd");
System.out.println("111111111111111"+a.getName());
}
}
class PersonA {
private String name;
//public static String name;加static可以使子类对父类的成员进行修改
public PersonA() {
System.out.println(getName());
}
public PersonA(String name) {
this.name = name;
System.out.println(getName());
}
public String getName() {
return name;
}
}
class PersonB extends PersonA {
public PersonB() {
// super();
super("小黑");
}
}
小结:
-运行结果--------------------------------------
小黑
=============小黑
aaa
111111111111111aaa
---------------------------------------------------子类B继承A,相当于将A的成员和方法拷贝过来,所得的东西为B类所有,调用super(“小黑”)相当于调用B自己的普通方法,
改的值也是B类内的成员(虽然是从A继承来的,但改的不是A的成员)。