先创建一个父类,在new一个对象时,重写父类的方法,这个匿名内部类怎么报错了,还是匿名内部类只能重写接口的方法,不能这样用?
Java匿名内部类或者继承自某类,或者继承自某接口 (题目中outer即继承OutI接口)。
需要保证 Pa类有定义,且也定义了eat方法,然后才能如图中代码这样使用。
示例如下:
public class AnonymousClassDemo
{
public static void main(String[] args)
{
Dog dog = new Dog() { // anonymous class body closes here,dog contains an object of anonymous subclass of Dog.
public void someDog ()
{
System.out.println("Anonymous Dog");
}
};
dog.someDog();
}
}
class Dog
{
public void someDog()
{
System.out.println("Classic Dog");
}
}
OutI接口有定义,且定义了show方法,所以out类就没报错。