java - final 和非 final 方法参数,它们在确定方法重载或覆盖时是否被视为不同?

标签 java polymorphism overloading overriding

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

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

子类有:

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

那么到底是方法重载还是方法重写呢?

最佳答案

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

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

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

关于java - final 和非 final 方法参数,它们在确定方法重载或覆盖时是否被视为不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37330942/

相关文章:

java - 在java中抛出通用异常

Java从父对象调用子方法

haskell - RankNTypes 和 PolyKinds

c# - 如何在 C# 中创建泛型方法重载?

java.lang.IllegalArgumentException : Illegal character in path at index 33: https://box. one.th/app/api/上传

java - 这个方法中什么导致了 'force close' ?

java - 如何配置自定义maven项目结构

Java map 与后端数据库。哪个更适合速度和关系的多线程?

c++ - std::wstring 和 LOGFONT 重载冲突 - 为什么?

rust - Rust中不同整数类型的函数参数