_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入门第二季
531293 学习 · 6327 问题
相似问题