天天看点

内部类

1、什么叫内部类:在一个类中定义一个类,例如:在类A中定义一个类B,则类B就是内部类

2、内部类的特点:

     2.1、内部类可以直接访问外部类的成员,包括私有成员

     2.2、外部类要访问内部类的成员,必须要创建对象

     注意:内部类访问以及操作外部类的对象都是在方法体中的

3、什么情况下会使用到内部类:

     3.1、因为内部类提供了很好的封装性,所以当你想要隐藏你的操作不想让别人看到时,可以考虑用内部类

     3.2、Java中内部类和接口放到一起,可以实现多继承,所以想要继承多个类可以使用内部类

4、内部类的分类:

     4.1、在类的成员属性的位置:成员内部类

     4.2、在类的方法里:局部内部类

5、public成员内部类,外界如何创建对象使用?

     5.1、格式:外部类名.内部类名   对象名 = 外部类对象.内部类对象;

     5.2、范例:Outer.Inner oi = new Outer().new Inner(); 

6、private成员内部类的使用:

例如:

内部类

7、局部内部类的使用:

     7.1:局部内部类是在方法中创建的,外界无法直接使用,所以要在方法中创建对象来使用

     7.2:该类可以直接访问外部类的成员,也可以访问方法中的局部变量

内部类
内部类

8、匿名内部类:

     8.1、格式:new 类名或接口名(){ 重写方法 };(注意:大括号最后有分号,这是很容易出错的地方)

     8.2、实质:是一个继承了该类或者实现了该接口的匿名类对象

     8.3、前提:存在一个类或者接口,这里的类可以是具体类,也可以是抽象类

     8.4、匿名内部类是局部内部类的特殊形式,所以位置也是在方法内

内部类
内部类
内部类

9、匿名类的使用:例如,猫会跳高,狗也会跳高用接口类实现,需要写一个接口类,一个cat类去实现接口,一个dog类去实现接口,太麻烦,用匿名类会有所改进

内部类
上一篇: 内部类
下一篇: 内部类

继续阅读