内部类:在一个类中定义一个类。在类A中再定义一个类B,类B就被称为内部类。
内部类可以直接访问外部类的成员,包括私有的
外部类要访问内部类的成员,必须创建对象
在类的成员位置定义的内部类,称为成员内部类;在类的局部位置定义的内部类,称为局部内部类
public 成员内部类,创建对象格式:外部类名.内部类名 对象名 = 外部类对象.内部类对象 Outer.Inner oi = new Outer().new Inner(); ——当内部类为private修饰时,需要通过成员方法创建对象,不能使用此种方式。
局部内部类,定义在成员方法里面的内部类,外界无法直接使用,需要在方法内部创建对象冰使用。 该类可以直接访问外部类的成员,也可以访问成员方法内的变量。
匿名内部类,是局部内部类的特殊形式。前提:存在一个类或者接口,类可以是具体类也可以是抽象类
本质:十一个继承了该类或者实现了该接口的子类匿名对象
new 类名或者接口名() { 重写方法体;}
网友评论