java中为什么非静态嵌套类不能有静态变量?在阅读《Java入门经典》时他谈到这个问题,我没有读懂,于是上网搜了一下。觉得能说服自己的原因如下:
简单来说原因在于这样的静态变量无法存在。因为静态类成员需要在对象实例创建之前被初始化并且分配内存。而作为非静态嵌套类,它无法在不实例化的时候就初始化其内部的静态成员。
但是同时要注意,非静态嵌套类可以有静态的常量(static final)。
参考的网页:
http://www.iteye.com/topic/659959
java中为什么非静态嵌套类不能有静态变量?在阅读《Java入门经典》时他谈到这个问题,我没有读懂,于是上网搜了一下。觉得能说服自己的原因如下:
简单来说原因在于这样的静态变量无法存在。因为静态类成员需要在对象实例创建之前被初始化并且分配内存。而作为非静态嵌套类,它无法在不实例化的时候就初始化其内部的静态成员。
但是同时要注意,非静态嵌套类可以有静态的常量(static final)。
参考的网页:
http://www.iteye.com/topic/659959