题1:内部类也是类,可以拥有自己的成员方法和变量。
只有static内部类才能在类中声明static成员。众所周知,static成员是在类加载时就创建好的。而非static内部类是依托于外部类的对象而存在的,故矛盾。
题2:局部内部类的变量只在局部中起作用。对定义的内部类进行访问必须遵循这一原则,只能通过此内部类所在的方法中创建此类的对象进行访问。故不能在其他方法中进行调用。
题3:水题
题4:非static内部类中无法声明static成员。
题5:匿名内部类分为两种:与类有关的和与接口有关的匿名类。两种匿名类分别重写或实现父类中的同名方法。一个匿名类不能同时是和类有关的并且和接口有关。匿名类必须实现接口或抽象父类的所有抽象方法。匿名类中不能有static成员变量。两种匿名类的实现可参考题6和题7