匿名内部类

//匿名内部类:“
//如果是重写接口或者抽象类的方法,可以通过对象直接调用,不能在重写后面直接调用
//如果是新建一个方法,就必须在匿名内部类后面直接调用,不能通过对象调用
//匿名内部类是一个子类对象,当用Object的obj引用指向时,就被提升为了Object类型,而编译时会检查Object类中是否有show方法,此时编译失败。 
interface  tt{
    public abstract void eat();
}
public class Test {
    
    public static void main(String[] args) {
        tt t = new tt(){
            public void eat(){
                System.out.println("tt");
            }
        };
        //下面这样是会报错的
//        tt t = new tt(){
//            public void eat(){
//                System.out.println("tt");
//            }
//        }.eat();
        t.eat();
        
        new Object(){
            public void show(){
                System.out.println("show方法");
            }
        }.show();
        
        //下面报错,不能赋给Object obj
//        Object obj = new Object(){
//            public void show(){
//                System.out.println("show方法");
//            }
//        }.show();        
    }
}
原文地址:https://www.cnblogs.com/changzuidaerguai/p/7052315.html