原文链接http://zhhll.icu/2020/11/11/java%E5%9F%BA%E7%A1%80/%E9%87%8D%E8%BD%BD%E4%B8%8E%E9%87%8D%E5%86%99/
重载与重写
java中有overload重载和override重写
重载
重载是指一个类中有多个名称相同但是参数列表不同的方法(参数列表不同是指参数个数或类型不同)
重写
重写是指子类中的方法与父类中的某个方法名称和参数完全相同,通过子类创建的实例对象将父类中的这个方法覆盖掉,是面向对象多态性的一种表现。
子类重写父类的方法
-
只能比父类抛出更少的异常,或者抛出父类抛出异常的子异常
-
子类方法的访问权限只能比父类的更大,如果父类方法为private,那么相当于子类中增加了一个全新的方法
必须符合以上两点的原因是因为多态的机制,在使用子类对象指向父类引用时,调用父类的方法被认为是合法的,但是如果子类的访问权限比父类小,或者子类抛出的异常比父类多,这在编译上是不允许的,与多态机制是矛盾的
由于本身的博客百度没有收录,博客地址http://zhhll.icu
来源:oschina
链接:https://my.oschina.net/u/3839951/blog/4873926