为什么内部类不能有static方法和static字段?为什么方法内的内部类用的变量都要是final的?关于内部类的问题,请大家帮忙回答,以上两条平时都是死记的,觉得这是自己对内部类的两大疑惑,大家觉得还有什么疑惑,欢迎大家补充.

解决方案 »

  1.   

    静态内部类可以有static。“为什么方法内的内部类用的变量都要是final的?”没有这个说法吧
      

  2.   

    楼主说的是内部类中引用的外部变量都必须是final的!我也奇怪啊!
      

  3.   

    静态内部类
      和普通的类一样,内部类也可以有静态的。不过和非静态内部类相比,区别就在于静态内部类没有了指向外部的引用。这实际上和C++中的嵌套类很相像了,Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用这一点上,当然从设计的角度以及以它一些细节来讲还有区别。
      除此之外,在任何非静态内部类中,都不能有静态数据,静态方法或者又一个静态内部类(内部类的嵌套可以不止一层)。不过静态内部类中却可以拥有这一切。这也算是两者的第二个区别吧。
      

  4.   

    http://community.csdn.net/Expert/topic/4337/4337439.xml?temp=.1830255