匿名內部類
匿名內部類可以使代碼更加簡潔,定義一個類的同時對其進行實例化
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();
}