是否可以限制 class 的某些成员访问另一个 class 而不是所有其他 class 成员?

Is it possible to restrict access of certain members of a class to another class but not all other classes?

例如我有ClassA,ClassB,ClassC Class A有5个实例变量。 class B 和 C 都扩展了 class A。 class B 是否可以访问所有成员而 class C 只能访问其中的 2 个成员?前提是他们在同一个包里。

有可能。制作 3 个字段 private 并制作 B 一个 static 嵌套 class of A。如果您强制转换为 A,那么 B 可以访问 A 的所有成员。像这样:

public class A {

    private int a = 1;
    private int b = 2;
    private int c = 3;
    int d = 4;
    int e = 5;

    public static void main(String[] args) {
        new B().test();
    }

    private static class B extends A {

        private void test() {
            System.out.println(((A) this).a);
        }
    }
}