猿教程 Logo

方法重载和方法覆盖的区别

方法重载和java中的方法重写有很多区别。 下面给出了方法重载和方法覆盖之间的差异列表:

No.方法重载方法覆盖
1)方法重载用于提高程序的可读性。方法重写用于提供已经由其超类提供的方法的特定实现。
2)方法重载在类内执行。方法覆盖发生在具有IS-A(继承)关系的两个类中。
3)在方法重载的情况下,参数必须不同。在方法覆盖的情况下,参数必须相同。
4)方法重载是编译时多态性的例子。方法覆盖是运行时多态性的示例。
5)在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("eating...");}
}
class Dog extends Animal{
void eat(){System.out.println("eating bread...");}
}


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/Java/method-overloading-vs-method-overriding-in-java.html