我正在学习获得JAVA SE8认证,我怀疑我找到了一个问题。我怀疑是:
如果此成员变量是非静态的,那么类的实例是否有自己的每个成员变量的副本?
我对这个问题的回答是肯定的,但我正在研究的模拟器的更正说明一个对象没有自己的非静态成员变量副本!
我不明白为什么,谢谢你的帮助。
答案 0 :(得分:1)
答案是 - 类的实例将拥有自己的非静态成员变量的不同副本。当我们将成员变量定义为static时,它将被赋予类生命周期,而不是实例生命周期。
示例:
Class A{
String s;
static String str;
}
在这里你可以访问变量" s"使用
new A().s;
" str"使用
A.str;