关于方法重载 overloading 和 方法覆盖 overridden

xiaoxiao2026-09-20  4

 

关于方法重载 overloading 和 方法覆盖 overridden

方法重载 overloading 的要求:

 

一、方法必须同名 二、参数必须不同。 参数不同包括参数类型不同,参数个数不同,只要有一种不同就可以了 三、返回值可以相同或不同。在有多个同名方法的情况下,是根据参数不同,选择那个方法调用,而不是返回值 四、修饰符(权限)可以不同。

 

方法覆盖 overridden 的要求:

 

1)发生在父子类中; 2)同名、同参、同返回值 3)访问权限跟父类相同或更宽;不能比父类更封闭;例如父类中有一个 public void show(); 在子类中有一个方法覆盖:private void show(); 就会出错 4)子类方法抛出异常的类型不能比父类方法更宽泛;例如父类中有一个 public void show() throws IOException; 在子类中有一个方法覆盖:private void show() throws Exception; 就会出错

 

就方法覆盖的第3)条可以理解为儿子必须比老子更开放

 

第4)条可以理解为儿子必须比老子范的错误更小

 

这就叫进步啊

转载请注明原文地址: https://www.6miu.com/read-5052848.html

最新回复(0)