1. 一般情况下,继承关系中使用的都是子类,取得值为子类的。即使父类的同名属性,初始化了同名属性也是这样。
class Person {
private String name;
public Person() {
this.name = "222";
}
}
class Son extends Person {
private String name;
}
//测试 结果 111
Person son = new Son();
son.setName("111");
System.out.println(son.getName());
2. 怎么取父类的值。使用反射 。
// 1,获取父类的 class 对象
Class<Person> superclass = (Class<Person>) son.getClass().getSuperclass();
// 2,获取 父类对象
Person person = superclass.newInstance();
System.out.println(person.getName());