Java方法重载和方法重写的区别
1 Java方法重载和方法重写的区别
Java中的方法重载和方法重写(方法覆盖))之间有许多区别。下面列出了它们的区别:
Java方法重载 | Java方法重写(方法覆盖) |
---|---|
方法重载用于提高程序的可读性。 | 方法重写用于提供其父类已经提供的方法的特定实现。 |
方法重载在一个类中执行。 | 方法重写发生在两个具有is-a(继承)关系的类中。 |
如果方法重载,则参数必须不同。 | 在方法重写的情况下,参数必须相同。 |
方法重载是编译时多态性的应用。 | 方法重写是运行时多态性的应用。 |
在Java中,不能仅通过更改方法的返回类型来实现方法重载。在方法重载中,返回类型可以相同或不同。方法重载必须必须更改参数。 | 方法重写中的返回类型必须相同。 |
2 Java方法重载的例子
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
/**
* Java方法重载的例子
*/
class Demo{
static int add(int a,int b){
return a+b;
}
static int add(int a,int b,int c){
return a+b+c;
}
}
3 Java方法重写(方法覆盖)的区别
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
/**
* Java方法重写(方法覆盖)的例子
*/
class Animal{
void eat(){
System.out.println("在吃...");
}
}
class Dog extends Animal{
void eat(){
System.out.println("吃面包...");
}
}
热门文章
优秀文章