解决方案 »

  1.   


    System.out.println(" The two objects have the same area ? "+
          equalArea((Circle4)g1,(Rectangle1)g2));//此处显示错误
      

  2.   

    equalArea(Circle4 g1, Rectangle1 g2)
    这里向下类型转换错误,
      

  3.   

    请给出完整代码,getArea()方法的具体实现是什么,然后equalArea(g1,g2)不行具体是指啥?有没有出错信息?
      

  4.   

    方法中的参数是子类的,用父类的类型直接传入肯定有问题,类型不同。解决办法更改getArea  方法为传入两个 父类类型,或者调用这个方法前把父类类型转换成子类类型。好好看看多态的知识。
      

  5.   

    你实例出来的g1跟g2是 GemotricObject1类,但是equalArea(Circle4 g1, Rectangle1 g2),需要的类是GemotricObject1的子类:Circle4 、Rectangle1