class ,虚拟机看来与其他类无差,这也是编译器做的工作
普通的类(外部类)只能用public修饰符修饰,或者不写修饰符 使用默认的,但是内部类可以使用private 与protected
内部类可以达到类似...访问说明符,作用域被限定在了声明这个局部内部类中了
很好理解,局部的就跟方法变量一样,限定在了{}之中,自然就不需要设置访问说明符了,而且你可以想下,也只有类以及类的成员有访问修饰符,局部变量有访问修饰符么...如果是实现接口,不能带任何的参数的,因为接口都没有构造方法的呀
不过还可以通过初始化代码块达到类似的初始化效果,想必大家还记得初始化代码块是什么吧
不过也仅仅是达到类似的效果,而且,相当于只有一个"...设置了一个初始化块 {} ,初始化块会在每个对象构造的时候执行
代码块中调用add方法增加对象
静态内部类
如果使用内部类只是为了将一个类隐藏到一个类的内部
并不需要内部类引用外部类的对象
可以将内部类声明为...的
因为类是static,只是将嵌套类置于接口的命名空间内,并不违反接口的规则
你甚至可以接口中的内部类实现外部接口
如果你想要创建某些公共代码,使得他们可以被某个接口的所有不同实现所共用
那么使用接口内部的嵌套类会显得很方便