Overloading和Overriding的区别


方法覆盖和方法重载的异同

Overloading 重载java

Overriding 重写,又称覆盖spa


方法覆盖和方法重载具备如下相同点:

  • 都要求方法同名code

  • 均可以用于抽象方法和非抽象方法继承


方法覆盖和方法重载的不一样点:

  • 方法覆盖要求参数必须一致,而方法重载要求参数必须不一致class

  • 方法覆盖要求返回值类型必须一致,而方法重载不作限制权限

  • 方法覆盖只用于子类覆盖父类的方法,方法重载用于同一个类的全部方法(包括从父类中继承的方法)方法

public class Base {
    public void method() {...}
}

public class Sub extends Base {
    //继承了父类的method()方法
    public void method() {...}
    
    //重载了从父类继承的method方法
    public void method(int i) {...}
    
    //方法能够被重载不少次
    public void method(int i,String s) {...}
}

  • 方法覆盖对方法的访问权限和抛出的异常有特殊要求,而方法重载没有限制异常

  • 父类的一个方法只能被子类覆盖一次,而一个方法在所在的类中能够被重载不少次di

相关文章
相关标签/搜索