有誰能解釋下多態(tài)的用處在哪呢?自己不太明白
//Traffic類
package?com.edu;
public?class?Traffic?{
public?String?TrafficName; //交通工具的名稱
public?int?maxNum; //交通工具的最大承載量
public?void?showData(){
System.out.println(TrafficName+"這種交通工具最多允許乘坐:"+maxNum+"人");
}
}
//Car類
package?com.edu;
public?class?Car?extends?Traffic{
public?Car(int?max){
TrafficName?=?"汽車";
maxNum?=?max;
}
}
//Boat類
package?com.edu;
public?class?Boat?extends?Traffic{
public?Boat(int?max){
TrafficName?=?"小船";
maxNum?=?max;
}
}
//Intial類
package?com.edu;
import?java.util.Scanner;
public?class?Initial?{
/**
?*?@param?args
?*/
public?static?void?main(String[]?args)?{
//?TODO?Auto-generated?method?stub
Traffic?tool?=?new?Traffic();
System.out.print("請輸入交通工具的名稱:");
Scanner?input?=?new?Scanner(System.in);
String?TrafficName?=?input.next();
System.out.print("請輸入交通工具的最大乘載量:");
int?maxNum?=?input.nextInt();
if(TrafficName.equals("汽車")){
tool?=?new?Car(maxNum);
}else?if(TrafficName.equals("小船")){
tool?=?new?Boat(maxNum);
}
tool.showData();
}
}
2017-02-28
你這是方法的多態(tài),通過父類的引用tool分別指向子類的對象Car或Boat,同時(shí)執(zhí)行各自的構(gòu)造函數(shù),寫入maxNum,然后通過調(diào)用沒有重寫的父類方法showData()輸出所需信息。
2017-02-24
666666
2016-12-13
不是 我試了你這個 ?你好像沒用到子類啊
2016-12-08
子類Car類和Boat類的載人情況的輸出都使用了父類的showData()方法,統(tǒng)一了調(diào)用使程序更加直觀明了(如果分別在Cal類和Boat類自己定義方法的話會使用戶不明所以)