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

时间:2015-01-13 23:19:07

标签: java inheritance

例如,我有A类,B类,C类 A类有5个实例变量。 B类和C类都扩展了A类。 B类是否可以访问所有成员,而C类只能访问2个成员?只要它们在同一个包装中。

1 个答案:

答案 0 :(得分:1)

有点可能。创建3个字段private并使B成为static嵌套类A。如果您投放到B,则A可以访问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);
        }
    }
}