首先,楼主的提问有问题:内部类中并非不可以定义静态变量.
所谓内部类就是定义在一个类内部的类,它可以直接定义在类中,也可以定义在几个程序块的范围之内.(比如,它可以定义在方法中,或者for循环体中.)
内部类可以直接访问包含他的的成员,包括private成员.它的这个特点有利于编程的简洁性.
我们可以用static 来修饰一个内部类,这时内部类中可以定义静态成员(包括静态方法和静态变量).但是这时这个内部类也就相当于是一个外部定义的类了.
如果没有用static 来修饰一个内部类,这时内部类中是不可以定义静态成员的.static的内部类不能再使用外层封装类的非static的成员变量.所以static内部类很少使用。 |