【发布时间】:2017-06-24 17:46:52
【问题描述】:
如果这是多余的,我深表歉意,但我找不到类似的问题。而且,TBH,我什至不知道如何正确地提出问题。
这是来自 Java 8 OCA 学习指南的一个复习问题。问题是关于静态初始化程序的,我理解得很好。但是有一行代码我没有得到,因为问题不是关于它,所以没有很好的解释。
private static Rope rope = new Rope();
所以这与单例或静态类无关。我不明白你为什么要初始化这样的对象。而且,如果您有充分的理由可以并且愿意这样做,原因是什么?
有人能指点我解释的方向吗?就像我说的,我什至不确定这应该叫什么,所以我很难自己找到一个好的答案。
编辑以放入整个班级:
import rope.*;
import static rope.Rope.*;
public class RopeSwing
{
private static Rope rope1 = new Rope("rope 1");
private static Rope rope2 = new Rope("rope 2");
{
System.out.println(rope1.length);
}
public static void main(String[] args) {
rope1.length = 2;
rope2.length = 8;
System.out.println(rope1.length);
}
}
【问题讨论】:
-
rope不是“非静态对象”。Rope不是静态类这一事实无关紧要。 -
我删除了关于
Rope不是“静态类”的行,因为人们似乎对这个事实感到困惑。这是可以理解的混淆,但与您看到的语法无关。
标签: java static initialization