Java 访问修饰符 - Public function/variable in protected class
Java Access Modifiers - Public function/variable in protected class
美好的一天,
如果我有一个 class 有点像这样:
public class A {
protected class B {
public int element;
public int get() {
return i;
}
}
public class C {
foo();
}
public class D extends A {
foo();
}
1.Could class C 中的 foo(),访问元素和 get()?或者只能 class D 访问它们?
- 如果class B 是私有的,C 可以访问元素和 get() 吗?
只有D,classB被保护,那么C无法访问classB。
但是,你必须在D中实例化B才能调用get()得到i,因为get是一个实例方法。
如果 B 是私有的,则 C 和 D 都不能访问 B。
美好的一天,
如果我有一个 class 有点像这样:
public class A {
protected class B {
public int element;
public int get() {
return i;
}
}
public class C {
foo();
}
public class D extends A {
foo();
}
1.Could class C 中的 foo(),访问元素和 get()?或者只能 class D 访问它们?
- 如果class B 是私有的,C 可以访问元素和 get() 吗?
只有D,classB被保护,那么C无法访问classB。
但是,你必须在D中实例化B才能调用get()得到i,因为get是一个实例方法。
如果 B 是私有的,则 C 和 D 都不能访问 B。