java匿名内部类小结

匿名内部类的意义:
当抽象类或是其他类只有一个方法需要被重写时比如Thread类,再写一个子类并且继承抽象类和其他类太过繁琐,因而搞个匿名内部类来省略定义子类然后起名字的过程

匿名内部类的前提必须是类或者接口
格式:
new 类名/接口名(){
重写抽象方法
}
传统的方式

package noneNameClass;
public abstract class animal {
     
   public abstract void eat();
}

package noneNameClass;
public class Dog extends animal {
     
    public  void eat(){
     
        System.out.println("狗吃肉");
    }
}

package com.homework;

import noneNameClass.Dog;

import java.io.IOException;
public class FileDemo {
     
   public static void main(String args[]) throws IOException, ClassNotFoundException {
     
     Dog d=new Dog();
     d.eat();
   }
}

匿名类的方式

package noneNameClass;

import java.io.IOException;
public class demon1 {
     
    public static void main(String args[]) throws IOException, ClassNotFoundException {
     
        new animal(){
     
            @Override
            public void eat() {
     
                System.out.println("狗吃肉");
            }
        }.eat();
    }
}
package noneNameClass;
public abstract class animal {
     
   public abstract void eat();
}

你可能感兴趣的:(java)