并且能够通信
内部类的代码,可以操作创建它的外部类的对象
所以可以认为内部类提供了某种进入其外部类的窗口
内部类特点
内部类访问外部类不需要任何特殊条件,拥有外部类所有的访问权
也就是对于内部类访问外部类的元素这件事情上...,而且你可以想下,也只有类以及类的成员有访问修饰符,局部变量有访问修饰符么
局部类可以对外面完全的隐藏起来,即使是外部类的其他的代码也不能访问他
局部内部类虽然被限定在局部代码块{} 里面,但是他也是可以访问外部类的属性的...,通过外部类的构造器绕一圈,本身内部类可以访问外部类所有的属性,去把值操作起来
当然外部类自然可以搞点属性根据业务逻辑单独给内部类用
如果是实现接口,不能带任何的参数的,因为接口都没有构造方法的呀
不过还可以通过初始化代码块达到类似的初始化效果... {} ,初始化块会在每个对象构造的时候执行
代码块中调用add方法增加对象
静态内部类
如果使用内部类只是为了将一个类隐藏到一个类的内部
并不需要内部类引用外部类的对象
可以将内部类声明为static...,以便取消产生的引用
也只有内部类可以声明为static
静态内部类的对象除了没有对生成他的外部类的对象的引用特权外,其他的内部类一样
通过 外部类 .