我已经阅读了关于静态嵌套类和内部类之间差异的文章。我的问题更多的是一个习惯性的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