java中的方法重载和方法覆盖有很多区别。 下面列出了方法重载和方法覆盖的区别:
方法重载 | 方法覆盖 |
---|---|
方法重载用于增加程序的可读性。 | 方法覆盖用于提供其超类已经提供的方法的具体实现。 |
方法重载在类内执行。 | 方法覆盖发生在具有 IS-A(继承)关系的两个类中。 |
在方法重载的情况下,参数必须不同。 | 在方法覆盖的情况下,参数必须相同。 |
方法重载是编译时多态的例子。 | 方法覆盖是运行时多态性的例子。 |
在java中,不能只通过改变方法的返回类型来实现方法重载。 方法重载的返回类型可以相同也可以不同。 但是必须更改参数。 | 返回类型在方法覆盖中必须相同或协变。 |
Java方法重载示例
class OverloadingExample{
static int add(int a,int b){return a+b;}
static int add(int a,int b,int c){return a+b+c;}
}
Java方法覆盖示例
class Animal{
void eat(){System.out.println(" Animal eating...");}
}
class Dog extends Animal{
void eat(){System.out.println("Dog eating...");}
}
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:java方法重载和方法覆盖的区别
本文链接:https://www.vsdiffer.com/vs/method-overloading-vs-method-overriding-in-java.html
免责声明:以上内容仅是站长个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。