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("吃面包...");
    }
}

 

热门文章

优秀文章