public class PrivateTest {
public static void main(String[] args) throws Exception, IllegalAccessException {
Class clazz = Demo.class;//这里面如果写成Demo2运行结果就会报错,说找不到age这个属性
Object obj = clazz.newInstance();
Field age = clazz.getDeclaredField("age");
age.setAccessible(true);
System.out.println(age.get(obj));
}
}
class Demo{
private int age = 21;
}
class Demo2 extends Demo{
}
父类中的私有成员能不能被子类继承,我以前也是迷迷糊糊的,现在学了反射以后,我觉得的确没有被继承过来,因为通过反射的方式访问子类私有属性发现运行时报告找不到age这个属性.
不知道大家怎么看?
|