DESKTOP-5NB63LS_20200903-潘振林

问题

用于实现接口的匿名类,它本身没有类名,它对应的字节码文件有名字,它的父类是Object

Printable p = new Printable() { 
    @Override
    public void print(String information) {
    } 
} ; 
Class<?> c = p.getClass() ; 
System.out.println( c );
System.out.println(c.getName() );
System.out.println(c.getSimpleName() );
System.out.println(c.getCanonicalName() );
Class<?> pc = c.getSuperclass();// 获得c所表示类型的父类
System.out.println( pc.getName() );

用于继承抽象类的匿名类,实现抽象类中的抽象方法,它本身没有类名,它对应的字节码文件有名字,它的父类是被继承的那个抽象类

Person p = new Person("hh") { 
    @Override
    public void eat(String foodName) {
    }
} ;
Class<?> c = p.getClass() ; // 获得运行时类型
Class<?> pc = c.getSuperclass();// 获得c所表示类型的父类
System.out.println( pc.getName() );

心得

教室太闷了,是真的闷!