匿名内部类就是把一个类放在new语句中,也就是说一个匿名内部类只能使用一次,那么就需要在定义匿名内部类的同时创建它的对象
匿名内部类只能实现一个接口或者指定一个父类,
格式;
new 接口或父类名() {类体} 如 class A(){}
A a = new A() {}:创建A类的子类对象,而这个子类也是刚刚创建的。这个子类没有名字!虽然不知道这个子类叫什么名字,但可以使用A类的引用来指向它(就是多态) 也就是说,只能使用他父类的引用来指向它,那么这个引用也就只能调用A类中存在的方法,而不能再去调用子类独有的方法。 匿名内部中,都是在重写父类方法,如果写独有方法,也无法被调用.
另外说一下匿名内部类的构造代码块,由于是匿名内部类,所以没有构造器,那么构造代码块就相当于构造器的作用
格式
new A() { {//构造代码块}//代替了构造器的工作 }
匿名内部类的构造代码块用的比较少,了解下就行了,后期匿名内部类用的较多,多看几遍视频 |