我了解此代码不合法:
class Popcorn {
public void pop() {
System.out.println("popcorn");
}
}
class Food {
Popcorn p = new Popcorn() {
public void sizzle() {
System.out.println("anonymous sizzling popcorn");
}
public void pop() {
System.out.println("anonymous popcorn");
}
};
public void popIt() {
p.pop(); // OK, Popcorn has a pop() method
p.sizzle(); // Not Legal! Popcorn does not have sizzle()
}
}
那么,什么是调用sizzle方法的方法呢?
最佳答案
匿名类的方法必须重写/实现其超类的方法才能从外部访问。不幸的是,无法编写更多样板代码来实现您的目标。
关于java - 如何调用匿名内部类的方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13251050/