3 回答

TA貢獻1868條經驗 獲得超4個贊
同一類型的方法,對不同的對象,具有不同的表現(xiàn)形式
class Student
{
void say()
{
System.out.println("老師,勞累你了。。。");
}
}
class Leader
{
void say()
{
System.out.println("同志們,辛苦你們了。。。");
}
}
class SayHello
{
void greeting(Student stu) //學生打招呼的方式
{
stu.say();
}
void greeting(Leader lea) //領導打招呼的方式
{
lea.say();
}
}
public final class Maintest {
public static void main(String[] args) {
Student stu=new Student();
Leader lea=new Leader();
SayHello sh=new SayHello();
sh.greeting(stu);
sh.greeting(lea);
}
}
同樣是打招呼的greeting()方法,“學生和領導”兩個對象不同,打招呼的形式也就不同

TA貢獻1825條經驗 獲得超6個贊
java是面向對象的,一個對象有多種形態(tài),每個狀態(tài)的處理和變現(xiàn)都是不一樣的,這一點與自然界的物體相同,重載的好處在于,對象在不同狀態(tài)下(多態(tài))調用重載函數得到的結果可以不一樣。形成多種處理方式,就好比你去取錢,可以在ATM中取,也可以在柜臺服務員哪里受理。至于你是那種我們不得而知,我只知道你去“取錢”(如同重載的函數名),這兩種方式有不同的物體和你完成操作,ATM和柜臺服務員,因此他們成為你區(qū)分這兩個“取錢”的方式,就像重載函數通過所傳遞的參數來區(qū)分一樣。說白了重載就是在編譯期間就知道你有多少種手段解決問題。
添加回答
舉報