1. 程式人生 > 其它 >Java方法的重寫

Java方法的重寫

Java方法的重寫

重寫:需要有繼承關係,子類重寫父類的方法!

  1. 方法名必須相同
  2. 引數列表列表必須相同
  3. 修飾符:範圍可以擴大但不能縮小 public > protected > default > private
  4. 丟擲的異常:範圍可以被縮小,但不能擴大

重寫,子類的方法和父類要一致,方法體不同!

為什麼要重寫:

  • 父類的功能,子類不一定需要,或者不一定滿足!

    IDEA快捷鍵:Alt + insert :override;

package com.cnblogs;
//本類用於實現
public class Application {
    public static void main(String[] args) {
        //例項化父類
        Persion persion = new Persion();

        //例項化子類
        Student stu = new Student();

        persion.getName();//父類屬性
        stu.getName();
        //子類屬性
        //父類屬性
    }
}

package com.cnblogs;
/*
persion類
 */
public class Persion {
    //父類屬性
    private String name = "父類屬性";
    //父類方法
    public void getName(){
        System.out.println(name);
    }
}

package com.cnblogs;
/*
student類
 */
public class Student extends Persion{
    //子類屬性
    private String name = "子類屬性";
    //子類重寫父類方法
    @Override
    public void getName() {
        System.out.println(name);
        //super關鍵字
        super.getName();
    }
}

總結:

重寫的要求:兩同兩小一大
兩同:方法名 引數列表 要完全一致
兩小:
子類返回值型別小於等於父類的返回值型別(注意此處說的是繼承關係,不是值大小)
子類丟擲異常小於等於父類方法丟擲異常
一大:子類方法的修飾符許可權要大於等於父類被重寫方法的修飾符許可權