我很想知道你如何解释我在这个测验中发现的这个任务?即使getFoo方法返回null,输出仍然是Getting Object JavaQuiz.我认为应该是NullPointerException.
public class Foo {
static String name = " JavaQuiz";
static Foo getFoo() {
System.out.print("Getting Object");
return null;
}
public static void main(String[] args) {
System.out.println(getFoo().name);
}
}
Run Code Online (Sandbox Code Playgroud)
Era*_*ran 11
访问静态方法或变量可以通过包含该静态方法/变量的类的空引用来完成.
由于name是静态的,无论是否返回都getFoo().name具有相同Foo.name或相同的结果.namegetFoo()null
但是,在访问静态方法/变量时使用类名总是更好,因为它清楚表明您打算访问静态成员.