不知道为什么得不到想要的结果我要  控制台输出:(*^__^*) 嘻嘻……
say foo!!!代码如下:
/**
 * 匿名类
 */
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();
}
我的机子上面  只输出了:  (*^__^*) 嘻嘻……不懂……

解决方案 »

  1.   


    public Foo02 test(){
                return new Foo02(){
                    public void say(){
                        System.out.println("say foo!!!");
                    }
                };
            }这个方法会返回一个Foo的实例。。你如果想答应出: say Foo!!!  应该这样写:
     inner.test().say();
      

  2.   

    inner.test() 这句相当于只创建对象,创建完对象后调用才能输出:
    inner.test().say()