我已經閱讀了關於靜態嵌套類和內部類之間差異的文章。我的問題更多的是一個習慣性的Java。在Java中創建靜態嵌套類的實例
我的要求是演示各種概念,如使用Java中的單一代碼進行繼承。一個單獨的類文件,以便它可以研究自上而下和在沙箱像ideone運行驗證 - http://ideone.com/jsHePB
class SOFieldAccessQuestion {
static class B {
int vf;
static int sf;
B(int i) {
vf = i;
sf = i + 1;
}
}
static class C extends B {
int vf;
static int sf;
C(int i) {
super(i+20);
vf = i;
sf = i + 2;
}
}
public static void main(String[] args) {
// Is it Okay to create an instance of static nested class?
C c1 = new C(100);
B b1 = c1;
System.out.println("B.sf = " + B.sf + ", b1.sf = " + b1.sf);
System.out.println("C.sf = " + C.sf + ", c1.sf = " + c1.sf);
System.out.println("b1.vf = " + b1.vf);
System.out.println("c1.vf = " + c1.vf);
}
}
我的問題是,是不是還好創建如上一個靜態嵌套類的實例?我擔心我在這裏忽略了「靜態」的含義。我應該如何引用和承認Java允許我創建靜態類對象的概念。
如果我沒有創建B或C的靜態類,那麼我不能在public static void main method
內使用它們,並且可能不會用主入口點執行程序,因此我不得不這樣做。
感謝您的回答。澄清我對這個概念的困惑。 – 2014-08-30 03:22:40