注册 登录
编程论坛 JAVA论坛

多态以及子类重写父类问题

iloveit 发布于 2016-04-03 12:35, 4378 次点击
指导——计算交通工具运行1000公里需要的时间。
训练要点
  多态
  子类重写父类方法。
需求说明
两种工具:Car007 和Plane,其中Car007 的速度运算公式为:A*B/C,Plane 的速度运算公式为:A+B+C。编写一个通用程序,用来计算每一种交通工具运行1000公里所需的时间。
提示:需要编写三类:先设计出父类Common,包含计算速度的函数,然后Plane类和Car007都继承Common类,重写计算速度函数。最后编写测试类,给出三个参数的值,计算出两种交通工具运行1000公里需要的时间。



[此贴子已经被作者于2016-4-3 16:26编辑过]

5 回复
#2
iloveit2016-04-03 15:56
#3
iloveit2016-04-03 16:22
帮忙看看。执行错误、、、、
public class Common {
    int A,B,C;
   
   
public void speed() {
   
    // TODO Auto-generated method stub
   
}
}
class Plane extends Common{

   
    public Plane(int i, int j, int k) {
        // TODO Auto-generated constructor stub
    }

    public void speed() {
        // TODO Auto-generated method stub
        System.out.println("Plane的速度为"+(A+B+C));
    }
}
class Car007 extends Common{
        
        public Car007(int i, int j, int k) {
        // TODO Auto-generated constructor stub
    }

        public void speed() {
        // TODO Auto-generated method stub
    System.out.println("Car007的速度为"+(A*B/C));
    }
}
    public class test {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
  Common v =new Car007(10,10,10);
  System.out.println("Caroo7运行1000千米需要"+(1000/v.speed())+"小时!");
   v = new Plane(10,10,10);
  System.out.println("Plane运行1000千米需要"+(1000/v.speed())+"小时!");
    }

}
#4
he_c2016-04-07 20:04
你的构造器没写
#5
x4047104332016-04-09 17:36
其实很简单,你调用的B类继承了A类,B中也有了A类的public fun2(),应该可以理解了吧?
#6
轩辕磊2016-04-21 13:33
1:Common v =new Car007(10,10,10);   实例化对象应该是同一个类,应该这样写 Car007 v=new Car007(10,10,10);,通常只要实例化子类对象就好了。
2:用构造方法对父类中的属性进行实例化,在子类的构造方法中用 super(形参,形参)的形式去调用父类中的构造方法。
3:public class test        public class Common         在java程序中只能有一个public类,该类与程序名相同。
用构造方法对父类中的属性访问,应该这样写 例如:    public 父类名(int x,int y)
                                            {
                                                this.x=x;
                                                this.y=y;
                                                }
1