JAVA的多态、接口、动态加载类等[Java编程]
本文“JAVA的多态、接口、动态加载类等[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
为某研究所编写一个通用程序,用来计算每一种交通工具运行1000千米所需的时间,已知每种交通工具的参数都是3个整数A、B、C的表达式.现有两种工具:Car和Plane,此中Car的速度运算公式为:A*B/C,Plane的速度运算公式为:A+B+C.需求编写三类:ComputeTime.java,Plane.java,Car007.java和接口Common.java,要求在将来假如增添第3种交通工具的时刻,没必要改正从前的任何程序,只需求编写新的交通工具的程序.其运行历程以下,从号令行输入ComputeTime的四个参数,第一个是交通工具的范例,第2、3、四个参数辨别时整数A、B、C,举比方下:
计算Plane的时间:"javaComputeTimePlane203040"
计算Car007的时间:"javaComputeTimeCar007233445"
假如第3种交通工具为Ship,则只需求编写Ship.java,运行时输入:"javaComputeTimeShip223344"
提醒:充分操纵接口的概念,接口对象充当参数.
实例化一个对象的别的一种办法:Class.forName(str).newInstance();比方需求实例化一个Plane对象的话,则只要调用Class.forName("Plane").newInstance()便可.
解答代码:
访到classpath途径下便可,请从下往上编译
目录构造
CalTime
--------|--------
| |
| |
vehicle ComputTime.java
|
---------
| |
| |
all Palne.java/Car.java
|
|
Common.java
代码以下:
1.ComputTime.java请确保输入精确,此中没有捕捉NumberFromatException
importCalTime.vehicle.all.Common;
importjava.lang.*;
publicclassComputeTime{
publicstaticvoidmain(Stringargs[]){
System.out.println("交通工具:"+args[0]);
System.out.println("参数A:"+args[1]);
System.out.println("参数B:"+args[2]);
System.out.println("参数C:"+args[3]);
doubleA=Double.parseDouble(args[1]);
doubleB=Double.parseDouble(args[2]);
doubleC=Double.parseDouble(args[3]);
doublev,t;
try{
Commond=(Common)Class.forName("CalTime.vehicle."+args[0]).newInstance();
v=d.runTimer(A,B,C);
t=1000/v;
System.out.println("平均速度:"+v+"km/h");
System.out.println("运行时间:"+t+"小时");
}catch(Exceptione) {
System.out.println("classnotfound");
}
}
}
2.Plane.java
packageCalTime.vehicle;
importCalTime.vehicle.all.Common;
publicclassPlaneimplementsCommon{
publicdoublerunTimer(doublea,doubleb,doublec){
return(a+b+c);
}
}
3.Car.java
packageCalTime.vehicle;
importCalTime.vehicle.all.Common;
publicclassCarimplementsCommon{
publicdoublerunTimer(doublea,doubleb,doublec){
return(a*b/c);
}
}
4.Common.java
packageCalTime.vehicle.all;
publicinterfaceCommon{
doublerunTimer(doublea,doubleb,doublec);
}
演示了接口的经典利用办法.嗬嗬,只有领悟,不可言传.ThinkinginJava对此也做出了深化的解析,可以查看下.
注*源自清华大学JAVA课件
以上是“JAVA的多态、接口、动态加载类等[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |