1
我明白這個代碼是不合法的:如何調用匿名內部類的方法?
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()
}
}
那麼,什麼是一個方法調用嘶嘶方法呢?
爲爆米花添加嘶嘶聲,沒有別的途徑 – Jayan
我最初的反應是問你爲什麼要通過向匿名類添加額外的公共方法來實現*。 –
'new Popcorn(){...} .sizzle();' –