在下面的java示例中,任何人都可以解释为什么程序的输出是"橙色"?(这是面试问题)
public class Finder {
public static void main(String[] args){
System.out.println(X.Y.Z);
}
}
class X {
static W Y = new W();
static class Y {
static String Z ="Apple";
}
}
class W {
String Z = "Orange";
}
Run Code Online (Sandbox Code Playgroud) public class Main {
public static void main(String[] args){
System.out.println(X.Y.Z);
}
}
class X {
static class Y {
static String Z = "Result 1";
}
static C Y = new C();
}
class C {
String Z = "Result 2";
}
Run Code Online (Sandbox Code Playgroud)
有时输出是"Result 1",有时输出是"Result 2".你能解释一下原因吗?
我在用JDK 1.6_33.
java ×2