【发布时间】:2014-06-03 09:23:00
【问题描述】:
访问级别修饰符如何改变内部私有类中成员的行为? 我有这个代码
class Main {
private static class Inner {
private static int a = 1;
}
public static void main(String[] args) {
System.out.print(Inner.a);
}
}
我可以从外部类访问属性“a”,无论它的访问级别是公共的还是私有的(这对我来说已经很奇怪了)。 问题是:如果 属性 是“public static int”,区别是什么(考虑到 Inner 类是私有的,因此无法从“Main”类的外部)?
回顾
- 属性是私有的:我可以从 Main 访问它,但不能从 Main 外部访问它(因为 Inner 是私有的)
- 该属性是公开的:我仍然可以从 Main 访问它,但不能从 Main 外部访问它(因为 Inner 是私有的)
我看不出有什么区别
【问题讨论】:
-
你是对的,因为
Inner是私有的,它只能从Main内部访问。即使a是公共的,但Inner是私有的,不能从特定位置访问,a的属性也将无关紧要。
标签: java class nested private member