静态成员类能否评估封闭类';Java中的成员?
我一直在读这本书,当我读到第22条:喜欢静态成员类胜过非静态成员类时,我对这个观点感到困惑,静态成员类可以访问封闭类的成员吗? 静态成员类能否在Java中评估封闭类的成员 是的,他们可以。这很容易检查:静态成员类能否评估封闭类';Java中的成员?,java,Java,我一直在读这本书,当我读到第22条:喜欢静态成员类胜过非静态成员类时,我对这个观点感到困惑,静态成员类可以访问封闭类的成员吗? 静态成员类能否在Java中评估封闭类的成员 是的,他们可以。这很容易检查: public class Example { private static String foo = "foo"; private String bar; private Example() { this.bar = "bar"; }
public class Example {
private static String foo = "foo";
private String bar;
private Example() {
this.bar = "bar";
}
static class Inner {
static void check() {
System.out.println(foo);
System.out.println(new Example().bar);
}
}
public static final void main(String[] args) {
Inner.check();
}
}
上面编译并输出“foo”和“bar”,显示:
可以访问私有静态字段internal
foo
可以访问私有internal
构造函数示例
可以访问私有实例字段internal
bar
与内部类(非
静态
成员类)不同,该类没有到封闭类的封闭实例的隐式链接(没有到this
)的隐式链接)。因此,要访问实例特定的字段或方法,它必须创建一个实例(如上我们想要访问bar
时所述),否则它就没有可使用的实例。代码值1024个字:给我们展示一个你想要的代码示例(当你在做的时候,你知道,试着编译它,看看会发生什么)。另外,不要使用图像引用。使用文本和blockquote标记引用。上面的内容不是很长或很难键入。请确保提供属性。有什么疑问?混淆在哪里?