JAVA 方法過載和重寫區別

2021-08-08 14:21:42 字數 875 閱讀 8178

一、方法的過載

1.概念(overloading):方法名稱相同,但是引數列表不同(即的型別和個數都不同),通過傳遞引數的不同來完成不同的功能

2.例子:

class number 

public void tell(int a) }

public class overloading

}

輸出結果為4 1
二、方法的重寫

1.概念:重寫是指子類定義了和父類同名的方法,方法名稱相同,返回值相同,引數也相同

2.例子:

class a

}class b extends a

}public class overriding

}

輸出結果:
我被重寫了

a的方法

3.限制:子類重寫的方法不能比父類更加嚴格的訪問許可權

比如父類有乙個public void tell() 方法,但是子類重寫父類方法時,重寫成private void tell() 那麼這樣是不行的

4.訪問許可權:private(作用域:類)    <       default(作用域:類、包)     <        piublic(整個工程)

三、總結

過載:1.overloading

2.名稱相同,引數型別或個數不同

3.對許可權無要求

4.發生在乙個類中

重寫:1.overriding

2.名稱、引數型別、引數個數完全相同

3.重寫的方法不能擁有比父類更嚴格的許可權

4.發生在繼承當中

java方法過載和方法重寫的區別

方法過載,發生在同乙個類中,方法名相同,引數列表相同與返回值無關加粗樣式 方法重寫,發生在子父類中,方法名相同,引數列表相同,返回值相同,子類訪問修飾符要大於等於父類訪問修飾符 子類異常不能大於父類異常,父類方法若使用private static final任意修飾符,就不能被子類繼承 注意 不能以...

方法過載和重寫的區別,方法過載重寫區別

答一 根本區別 重寫 重構 很直觀啊,子類覆蓋了父類的同名同參同返回值的方法,用子類呼叫的只會是重寫的方法 過載,同名而已。答二 1 過載 方法名相同,引數列表不同 2 重寫 也叫覆蓋,指在子類中定義乙個與父類中方法同名同引數列表的方法。因為子類會繼承父類的方法,而重寫就是將從父類繼承過來的方法重新...

Java中方法過載和重寫的區別

public class demo public void test1 public string test1 string name public void test1 string name,int age public void test1 int age,string name 注意 方法的...