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行以内的简单程序就可以 展开
这四个参数代表人的姓名 身高 体重 和力气 不同的数值完成的时间不同 例如 张三 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行以内的简单程序就可以 展开
1个回答
展开全部
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();
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询