内部类的定义:
在一个类的里面再定义一个类
内部类的使用场景:
内部类的访问特点
内部类的分类:
成员内部类:
获取成员内部类对象:
当外部类成员变量和内部类成员变量重名时,在内部类访问的方法:
System.out.println(out.this.变量名);
静态内部类(特殊的成员内部类):
静态内部类只能访问外部类中的静态变量和静态方法,如果想要访问非静态的需要创建对象
创建静态内部类对象的格式:
外部类名.内部类名 对象名=new 外部类名.内部类名();
局部内部类(隐藏了名字的内部类):
匿名内部类:匿名内部类本质上就是隐藏了名字的内部类
格式:new 类名或者接口名(){
重写方法;
};
该格式包含了继承或实现,方法重写,创建对象,整体就是一个类的子类对象或者接口的实现类对象
使用场景:当方法的参数是接口或者累的话,若某个类只需要用一次,则不用再单独定义一个类,可以使用匿名内部类