本帖最后由 Hisouke_S 于 2011-07-13 09:49:12 编辑

解决方案 »

  1.   


    public class TestInterface {
    public static void main(String args[]) {
    Protectable m = new GoldenMonkey();
    m.beProtected();
    Valuable n = (Valuable) m;
    n.getMoney();
    System.out.println(n.getMoney());//打印结果
    GoldenMonkey c = new GoldenMonkey();
    c.setName("Happy");
    c.getMoney();
    System.out.println(c.getMoney());//打印结果
    c.beProtected();
    c.enjoy();
    }
    }你那不是没得到,是没打印!我增加了两行打印的,都得到了啊!
      

  2.   

    你根本就没有println 出来getMoney的返回值,你凭什么说没得到getMoney返回的10000.0呢?呵呵
      

  3.   

    你在程序中加入
    Valuable n = (Valuable)m;
    System.out.println("n.getMoney returns "+n.getMoney());
    ……
    c.getMoney();
    System.out.println("c.getMoney returns "+c.getMoney());结果肯定会打印出来的