【发布时间】:2012-05-22 03:13:04
【问题描述】:
私有变量是否与私有类中的包/默认/无修饰变量具有相同的访问权限?
public class PublicClass {
public void test() {
InnerClass in = new InnerClass();
in.name1 = "a";
in.name2 = "b";
in.getName1();
in.getName2();
}
private class InnerClass {
private String name1;
String name2;
private String getName1() {
return name1;
}
String getName2() {
return name2;
}
}
}
方法test可以同时访问name1和name2,那么,在私有类的变量上设置private的目的是什么?
更新:private 关键字实际上如何禁止访问的代码示例会很棒。
【问题讨论】:
-
变量不能互相访问。方法访问fields,你使用哪个变量或字段访问另一个类的字段或方法并不重要。
-
内部类的变量访问修饰符主要在内部类为public/package private时生效,否则无所谓
-
嗯,我什么时候说变量互相访问了?