gpt4 book ai didi

Java : Method overriding in return statement

转载 作者:行者123 更新时间:2023-12-02 02:31:40 24 4
gpt4 key购买 nike

我有这段代码,它的返回语句没有被覆盖。输出为 20,为什么会发生这种情况?任何对此的解释都会有帮助。

class Rectangle {
public int area(int length, int width){
return length*width;
}
}

class Square extends Rectangle{
public int area(long length, long width){
return (int) Math.pow(length, 2);
}
}
public class JavaApplication36 {
public static void main(String[] args) {
Square r = new Square();
System.out.println(r.area(5, 4));
}
}

最佳答案

因为正方形区域不会覆盖矩形区域。他们的签名不同。区域方法类型不同。在 Square 面积方法上方添加@override,您将不再能够编译,但会收到错误消息,告诉您没有覆盖该方法。

关于Java : Method overriding in return statement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46996641/

24 4 0
文章推荐: java - 模拟特定类对象 stub 失败的测试mockito
文章推荐: java - 在JavaFX Controller 类中添加向initialize()抛出异常的方法
文章推荐: java - 通过反射根据字段名称对 List 进行排序