_Doogie
2016-12-08 11:52
有谁能解释下多态的用处在哪呢?自己不太明白
//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();
}
}
你这是方法的多态,通过父类的引用tool分别指向子类的对象Car或Boat,同时执行各自的构造函数,写入maxNum,然后通过调用没有重写的父类方法showData()输出所需信息。
666666
不是 我试了你这个 你好像没用到子类啊
子类Car类和Boat类的载人情况的输出都使用了父类的showData()方法,统一了调用使程序更加直观明了(如果分别在Cal类和Boat类自己定义方法的话会使用户不明所以)
Java入门第二季
531402 学习 · 6328 问题
相似问题