m0_60859962 2021-11-19 11:09 采纳率: 50%
浏览 46
已结题

程序改错,哪里错了,怎么改

2读程序,改正程序中的错误
public class Class1
{
       public static void main (String[] args)
       {       B  b=new  A( );          //创建B的对象
b.myPrint(1.2f);  
       }
}
class A
{
    float rear(float r)
       {            
return  (float)Math.PIrr;    
}
 
class B extends A
{
       float rear(float r)
       {            
return  4*(float)Math.PIrr;  
       }
       MyPrint(float r)
       {
              System.out.println("半径为 "+r"的圆的面积="+super.rear(r) +"同半径的球的表面积="+rear(r));
}

  • 写回答

2条回答 默认 最新

  • CSDN专家-sinJack 2021-11-19 11:18
    关注

    问题如下:
    向下转型,需要强转。

     B  b=new  A( ); 改为 B  b=(B) new  A( );  
    

    B类重写的方法上需要加@Override

    @Override
            float rear(float r) {
                return 4 * (float) Math.PI*r*r;
            }
    

    加上返回类型void

     void MyPrint(float r) {
                System.out.println("半径为 " + r+"的圆的面积=" + super.rear(r) + "同半径的球的表面积=" + rear(r));
            }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月27日
  • 已采纳回答 11月19日
  • 创建了问题 11月19日