内部类
为什么要有内部类?
1.提高类的安全性
2.防止外界创建对象
什么情况下可以不让外界创建对象?
1.抽象类
2.接口
3.内部类
4.构造方法私有
内部类概念: 在类中定义一个类就叫内部类
相对概念: 外界:Outer 外面 外部类: Outer里面 Inner:内部类
内部类的分类:
1.成员内部类
2.局部内部类
3.静态内部类
4.匿名内部类
内部类的特点:
1.外部类也可以直接访问内部类的成员,包括私有
2.内部类通过编译器生成的字节码文件的格式 外部类$内部类
3.外界需要访问内部类可以通过外部类创建内部类对象
4.外界也可以通过如下格式来创建内部类对象
Outer.Inner oi = new Outer().new Inner();
private修饰内部类有意义吗? 外界不能够直接访问,更加提高了内部类的安全性