Java中存在兩種多態(tài):重載(Overload)和重寫(Override),方法重載是兩種多態(tài)的一種。
例如:你讓一個人執(zhí)行“求面積”操作時,他可能會問你求什么面積?
功能多態(tài)性就是指可以向功能傳遞不同的消息,以便讓對象根據(jù)相應(yīng)的消息來產(chǎn)生相應(yīng)的行為。對象的行為通過類中的方法來體現(xiàn),那么行為的多態(tài)性就是方法的重載。
方法重載的語法規(guī)則:
方法重載意味著一個類中可以有多個方法具有相同的名字,但這些方法的參數(shù)必須不同。要么參數(shù)的個數(shù)不同,要么參數(shù)個數(shù)相同,但參數(shù)列表中對應(yīng)的某個參數(shù)的類型不同。
例如:
class People { float hello(int a,int b) { return a+b; } float hello(long a,int b) { return a-b; } double hello(double a,int b) { return a*b; } } public class Main { public static void main(String args[]) { People tom = new People(); System.out.println(tom.hello(10,10)); System.out.println(tom.hello(10L,10)); System.out.println(tom.hello(10.0,10)); } }
運(yùn)行結(jié)果如下:
20.0 0.0 100.0
注意:
如果兩個方法的名字相同,即使返回類型不同,也必須保證參數(shù)不同。
C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:
一點(diǎn)編程也不會寫的:零基礎(chǔ)C語言學(xué)練課程
解決困擾你多年的C語言疑難雜癥特性的C語言進(jìn)階課程
從零到寫出一個爬蟲的Python編程課程
只會語法寫不出代碼?手把手帶你寫100個編程真題的編程百練課程
信息學(xué)奧賽或C++選手的 必學(xué)C++課程
藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競賽課入門課程
手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程