当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:14:00  来源:本站整理

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编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 利用Javascript实现网页水印(非图片水印)
  • Java开辟环境的搭建
  • Ubuntu java安装与配置
  • 办理Ubuntu 10.04 Firefox3.6 Java浏览器插件不工作的问
  • Ubuntu重装后Java环境的设置
  • Sun Java进入Ubuntu 10.10软件中央
  • Ubuntu 10.10配置Java开辟环境
  • 在Ubuntu 10.10中配置Java环境变量的办法
  • Ubuntu下Java环境的搭建
  • Ubuntu 10.04 下安装 Java, JRE
  • Ubuntu 10.04下的搭建SUN JAVA开辟环境
  • Ubuntu 12.04安装java7
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        100%(1)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .