匿名內部類

image.png
image.png
匿名內部類可以使代碼更加簡潔,定義一個類的同時對其進行實例化

image.png

public interface Swim{
	void swim();
}

public abstract class Animal{
	abstract void eat();
}


public class anonymousTest{
	public static void main(String[] arg){
		new Swim(){
		//創建一個沒有名字的接口實現類
		@Override
			public void swim(){
				System.out.println("I'm swimming");
			}
		};
		new Animal(){  
		//創建一個沒有名字的abstract class 實現類
	    @Override  
		    void eat() {  
		        System.out.println("Animal eat!");  
		    }
		};
		//常見的使用方法
		//我想用這個方法一次,但又不想建立新的對象實現浪費內存
		method(
		new Animal(){
			@Override 
			public void eat(){
				System.out.println("狗吃骨頭");
			}
		};
		)
		

	}

}

public static void method(Animal a){
	a.eat();
}