我无法理解此代码的输出。
班级;
public class StaticMethodClass {
public String str = display();
public static String display() {
System.out.println("Static Method");
return "Hello";
}
}
主要;
public static void main(String[] args) {
System.out.println("Main");
StaticMethodClass methodClass = new StaticMethodClass();
System.out.println(methodClass.str);
}
输出;
Main
Static Method
Hello
为什么自动调用 display()方法?
答案 0 :(得分:4)
创建类的实例时,需要初始化所有字段。因此,调用display()
方法来初始化"str"
。
答案 1 :(得分:4)
因为,您在类的实例中调用了display
方法。
public String str = display();
答案 2 :(得分:1)
当你创建一个新的StaticMethodClass时,它会通过调用display()来初始化str。
答案 3 :(得分:0)
因为类成员str
在创建类StaticMethodClass
的对象时使用此方法初始化。您可以使用main()
方法创建对象。