匿名内部类的对象类型,相当于是当前new的那个类型的子类类型


package com.itheima.d8_innerclass_anonymous;/*** 目标:学习匿名内部类的形式和特点*/public class Test {public static void main(String[] args) {// Animal a = new Tiger(); // 这是多态的形式,开发用的最多// a.run();// 现在用匿名内部类 (一个对象就是一个类)Animal a = new Animal() { // 这里相当于创建了下面的tiger类的对象(只是匿名内部类没有名字)@Overridepublic void run() {// Animal是一个抽象父类,不能创建对象,必须重写System.out.println("匿名老虎跑的快");}};a.run();}}//class Tiger extends Animal{//// @Override// public void run() {// System.out.println("老虎跑的快");// }//}abstract class Animal{public abstract void run(); // 创建一个抽象方法要求子类一定要完成}
