首先建一个接口然后再接口里建一个抽象类:
public interface Inner{
void eat();
}
这里再说一下:匿名内部类其实就是新建一个对象。所以匿名内部类只能在方法里创建或声明。
所以那个类的代码如下:
public Outer{
//method的意思是调用。
public void method{
//一下就是匿名内部类的格式。new相当于就是创建一个对象,这个Inner是刚刚创建的接口。
new Inner(){
//这里要重写方法。
@Override
public void eat() {
System.out.println("猫吃鱼");
}
//因为这是对象使用要调用方法。
}.eat();
}
}
-当然还有一种厉害的用法,众所周知,匿名内部类只是创建对象,不过这个对象没有名字,所以我们可以弄了有名字的:
public class Outer{
public void method(){
//这个主要是可以在以后调用这个对象。
Inner i = new Inner(){
@Override
public void eat() {
System.out.println("猫吃鱼");
}
};
//调用
i.eat();
}
}