成员内部类:在类作用域内再声明一个类,内用外随便用,外用内需要内部类的对象 如果出现重名问题,外部类.this.外部类属性名 ,this.内部类属性名
局部内部类:在方法内部定义一个类,那么这就是一个局部内部类,“局部”,就只有当前所属方法才能使用它,出了这个方法外面就不能用类。
匿名内部类:如果接口的实现类(或者是父类的子类) 只需要使用唯一的一次, 那么这种情况下就可以省略该类的定义,改为使用【匿名内部类】。 匿名内部类的定义格式: 接口名 对象命 = new 接口名(){ //覆盖重写所有抽象方法 };
注意⚠️: 1.匿名内部类,在创建的对象的时候,只能使用唯一一次 2.匿名对象,在【调用方法】的时候,只能用唯一的一次,如果希望同一个对象使用多次就要起一个名字 3.匿名内部类省略了【实现类/子类名称】,但是匿名对象是省略了对象名称。