是否可以限制 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);
}
}
}
例如我有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);
}
}
}