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...");}  
}  

标签: java, Java面试题, Java下载, java教程, java技术, Java学习, Java学习教程, Java语言, Java开发, Java入门教程, Java进阶教程, Java高级教程, Java笔试题, Java编程思想