gpt4 book ai didi

java - 构造函数不支持@Override

转载 作者:搜寻专家 更新时间:2023-11-01 01:26:52 24 4
gpt4 key购买 nike

我知道构造函数在 java 中不可继承,我们需要使用 super() - super 必须是构造函数中的第一条语句。

但是为什么我不能使用@Override注解呢?

例如:

public class Foo extends Point2D.Double {
@Override // The annotation @Override is disallowed for this location
public Foo(){}
}

如果我有一个 Foo 实例,我将永远无法直接调用 Point2D.Double.Double()!这种行为完全类似于重写!

最佳答案

@Override 在您覆盖一个方法(不是构造函数!)时使用,这意味着您正在创建一个使用与一个方法相同的名称和参数的方法来自父类(super class)的方法。

在您的父类(super class)中没有名为 Foo() 的构造函数(很明显),因为构造函数不是从父类继承的,所以这不是覆盖。

重写只能应用于非构造函数且未定义为 final 的继承方法。

关于java - 构造函数不支持@Override,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18737552/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com