java中的继承是否继承变量?

She*_*lef 4 java variables inheritance extends

据我所知,继承的类也应该继承变量,那么为什么这段代码不起作用呢?

public class a {
    private int num;

    public static void main(String[] args) {
        b d = new b();
    }
}

class b extends a {
    public b() {
        num = 5;
        System.out.println(num);
    }
}
Run Code Online (Sandbox Code Playgroud)

Sub*_*der 14

num变量的访问修饰符是private并且private成员不能从自己的类中访问,因此protected可以从子类访问它.

public class a {
     protected int num;
     ...
}
Run Code Online (Sandbox Code Playgroud)

控制对类成员的访问的参考