日期:2014-05-20 浏览次数:20730 次
/** * 匿名类 */ public class InnerClassTest05 { public Foo02 f = new Foo02() { public void say() { System.out.println("(*^__^*) 嘻嘻……"); } }; public Foo02 test(){ return new Foo02(){ public void say(){ System.out.println("say foo!!!"); } }; } public static void main(String[] args) { InnerClassTest05 inner = new InnerClassTest05(); inner.f.say(); inner.test(); } }
public interface Foo02 { void say(); }
public Foo02 test(){ return new Foo02(){ public void say(){ System.out.println("say foo!!!"); } }; }
------解决方案--------------------
inner.test() 这句相当于只创建对象,创建完对象后调用才能输出:
inner.test().say()