最终和非最终方法参数,它们被视为不同的确定方法重载或覆盖?

时间:2016-05-19 18:04:41

标签: java polymorphism overloading method-overriding

让我们在父类中使用此方法:

public void calculateSum(int a, final int b) { }

儿童班有:

public void calculateSum(int a, int b){ }

是方法重载还是方法覆盖?

3 个答案:

答案 0 :(得分:5)

它是重写,因为参数的数量和类型是相同的。

重载是指参数的类型或数量发生变化。

方法参数上的final只是指示编译器不应在方法内更改变量值(或引用)...这也会影响运行时,因为最终变量是安全发布的。 / p>

答案 1 :(得分:0)

子类方法重写父类方法。子类方法没有定义一组新的参数。最终'修饰符不会影响参数类型,只要它可以赋予新值。

答案 2 :(得分:0)

如果方法签名(包括方法名称和参数列表)与返回类型(Assignment Compatible)相同,则称为覆盖。向参数添加修饰符不会更改参数类型。所以你的答案是最重要的。