Java课后作业 接口方面的 不是很懂 帮忙写一份 demo

有一项任务分别交给不同的人做完成时间不同你需要的是完成计算不同的人完成的时间每个人有4个参数nama(String)height(int)weight(int)power... 有一项任务 分别交给不同的人做 完成时间不同 你需要的是完成计算不同的人完成的时间 每个人有4个参数 nama(String) height(int) weight(int) power(int);
这四个参数代表人的姓名 身高 体重 和力气 不同的数值完成的时间不同 例如 张三 156 56 92他的计算公式为A+B+C /79.58 其中79.58为该人的工作时间系数 有程序员给出

现要求学生编写程序实现Time.java zhangsan.java lisi.java 和 newInterface.java
Time.java 为输出时间的类 例如 Class Time.Timeout("zhangsan");
newInterface 为接口类 用来实例化对象 要求:必须用接口类实例化对象
如 新建一个人 wangwu

你可以先写一个wangwu.java 然后调用 Class.forName("wangwu").newInterface()来实例化一个wangwu类
提示 充分利用接口概念 接口对象作为参数

请大神把上面这段程序发给我 8 3 4 7 4 9 8 1 qq 邮箱
才开始学Java 大家不要把问题想的太复杂 每个类 估计在20行以内的简单程序就可以
展开
 我来答
月光雪松
2013-11-17 · TA获得超过476个赞
知道小有建树答主
回答量:338
采纳率:100%
帮助的人:233万
展开全部

NewInterface.java

package baidu.itfc;
public interface NewInterface {
 public abstract double getTime(double u);
}

People.java

package baidu.itfc;
public abstract class People implements NewInterface {
 // 姓名
 protected String name;
 // 身高
 protected int height;
 // 体重
 protected int weight;
 // 力量
 protected int power;
 
 @Override
 public double getTime(double u) {
  // 计算时间
  double d = (height + weight + power)/u;
  return d;
 }
}

Time.java

package baidu.itfc;
public class Time {
 
 public static void TimtOut(NewInterface iPeople){
  System.out.println("完成工作需要时间:" + iPeople.getTime(79.58));
 }
}

ZhangSan.java

package baidu.itfc;
public class ZhangSan extends People{
 /**
  * 构造方法
  */
 public ZhangSan(){
  name = "张三";
  height = 170;
  weight = 130;
  power = 50;
 }
}

LiSi.java

package baidu.itfc;
public class LiSi extends People {
 public LiSi(){
  name = "李四";
  height = 165;
  weight = 102;
  power = 47;
 }
}

测试类:TimeTest.java

package baidu.itfc;
public class TimeTest {
 /**
  * @param args
  */
 public static void main(String[] args) {
  try {
   // 所在的包名路径
   String path = "baidu.itfc.";
   // 构建接口对象
   NewInterface iPeople = (NewInterface) Class.forName(path + "WangWu").newInstance();
   Time.TimtOut(iPeople);
   
   iPeople = (NewInterface) Class.forName(path + "ZhangSan").newInstance();
   Time.TimtOut(iPeople);
   
   iPeople = (NewInterface) Class.forName(path + "LiSi").newInstance();
   Time.TimtOut(iPeople);
  } catch (ClassNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (InstantiationException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (IllegalAccessException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式