首页 > 代码库 > 继承中的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的成员)。