白衣渡江lo
2021-04-03 19:25
采纳率: 66.7%
浏览 68
已采纳

请问这段java代码怎么修改?新手小白在线求救

package work;

//定义一个Shape接口,接口中含有一个抽象方法,此抽象方法接收一个double类型的参数
interface Shape
{
    double area(double x);
}

//定义一个Square类,实现Shape接口
class Square implements Shape
{
    double area(double x)
    {
        double a=x*x;
        return a;
        System.out.println("正方形的面积为    "+a);
    }
}

//定义一个Circle类,实现Shape接口
class Circle implements Shape
{
    double area(double x)
    {
        double a=3.14*x*x;
        return a;
        System.out.println("圆的面积为   "+a);
    }
}

public class Test02 {

    public static void main(String[] args) 
    {
        // TODO Auto-generated method stub
        Square square=new Square();
        square.area(2.00);
        Circle circle=new Circle();
        circle.area(3.00);

    }

}

运行报错提示:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    Cannot reduce the visibility of the inherited method from Shape

    at work.Square.area(Test02.java:12)
    at work.Test02.main(Test02.java:37)
 

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • CSDN专家-三岁丫 2021-04-03 19:54
    已采纳

    每个方法会在 return 执行后结束,你把打印语句写在在了 return 后面,所以编译器认为 return 后面的语句都是无效的

    评论
    解决 无用
    打赏 举报
  • 查看更多回答(4条)

相关推荐 更多相似问题