我自己写了代码试了试
class A{
private int i;
//生成get,set方法
}
class B extends A{
}
在主方法中B b = new B();
System.out.println(b.get());
输出结果为0
不懂了,B类不是无法继承A类的私有变量吗,为啥还是可以读取i的值呢
私有的是不能继承的,就好像你可以继承父辈的财产,但私有物品一般是不能继承的,每个人都有隐私嘛。
相当于通过父类的get方法间接访问了父类的private属性,从而能拿到值
get set方法是public的,可以通过get获取i,所以b.get()可以获取i的值。