嵌套类的类名必须与包装它的外部类区别,且嵌套类的类名仅仅可以作用于定义范围中。方法中定义类,其类名名就只能出现在方法中。
定义在方法中的嵌套类只能使用定义为final的局部变量,不可以使用方法中的非静态变量。
嵌套类可以使用的变量种类包括:类变量、实例变量、final局部变量。
嵌套类同样具有所有的访问控制权限。高级类属性:
嵌套类可以是abstract类
嵌套类可以是接口,被其它嵌套类实现。
定义为static的内部类将成为顶级类(top-level)。它们不依赖于外部类的对象而生成,所以不可以访问外部类的对象成员。
非static内部类不能定义static成员
内部类的两种创建方式:
a)在带有innerClass的OuterClass的main()方法中的新建方式:Inner inner=new Inner();
b)在OuterClass以外的其它类中的创建方式:Outer.Inner inner=new Outer().new Inner();