ART原艺美学
2017-03-08 12:38
父类 package imooc; public class Vehicle{ public void transport(){ System.out.println("交通工具的运输方式"); } }
Car子类
package imooc;
public class Car extends Vehicle {
public void transport(){
System.out.println("汽车是陆地上的交通工具的运输方式可以乘坐5人");
}
}
Plane 子类
package imooc;
public class Plane extends Vehicle {
public void transport(){
System.out.println("飞机是天空的交通工具的运输方式可以乘坐200人");
}
}
Ship子类
package imooc;
public class Ship extends Vehicle {
public void transport(){
System.out.println("轮船的海洋的交通工具的运输方式可以乘坐2000人");
}
}
Moto子类
package imooc;
public class Moto extends Vehicle {
public void transport(){
System.out.println("摩托也是陆地的交通工具的运输方式可以乘坐2人");
}
}
Bike 子类
package imooc;
public class Bike extends Vehicle {
public void transport(){
System.out.println("自行车也是陆地的交通工具的运输方式可以乘坐1人");
}
}
测试类
package imooc;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Vehicle v1=new Vehicle();
Vehicle v2=new Car();
Vehicle v3=new Plane();
Vehicle v4=new Ship();
Vehicle v5=new Bike();
Vehicle v6=new Moto();
v1.transport();
v2.transport();
v3.transport();
v4.transport();
v5.transport();
v6.transport();
}
}
觉得太繁琐了,这样不能很好的体现多态,你这只是实现的多太中引用的多态,何不在子类中定义子类特有的方法,然后在测试类中实例化子类调用,这样我觉得可以很好的体现我们学的多态
我觉得,继承transport()方法是一个,然后每个子类中定义一个属于自己属性(如汽车在陆地行驶)的方法,然后再实例化子类调用(因为父类是不能调用子类特有的方法的),才能体现出多态吧
本题属性有两个,人数num跟飞行方式way,建议定义出来,不然你就输出个结果,感觉没什么
阁下何不乘风起 扶摇直上九万里
没啥大问题
Java入门第二季 升级版
530653 学习 · 6091 问题
相似问题
回答 3
回答 1