该怎么写,分别创建交通工具类,大巴等三个类继承父类,输出大巴等交通的人数和运行方式么,请慕友们给个参考,看看自己写的是否正确~
其实很容易判断自己是否正确,在IDE上运行,同时还能检测自己其他的猜想:例如类的属性值是否存在多态性质?
以下是我自己在IDE做测试的运行代码,你可以复制上IDE去试跑,修改后试跑(没有写飞机类,其实是一样的,就是方法的多种显示,希望可以帮到你,如果下面有什么疑问可以和我一起讨论的):
//基础的transportation类,拥有基本属性
package com.immoc;
public class Transportation {
public int number; //测试属性是否具有多态性,第一次运行可以忽略
public String col ="white"; //测试属性是否具有多态性
public void transportWay(){
System.out.println("The transport way is on road");
}
public void transportNum(int num){
System.out.println("The transport number is "+ num);
}
}//Bus类,没有改写方法,但具备了多态必要条件:继承
package com.immoc;
public class Bus extends Transportation {
public int number =40; //测试属性是否具有多态性,第一次运行可以忽略
}//Boat类, 继承,改写方法
package com.immoc;
public class Boat extends Transportation {
public int num =200 ; //测试属性是否具有多态性,第一次运行可以忽略
public String col ="red"; //测试属性是否具有多态性,第一次运行可以忽略
public void transportWay(){
System.out.println("The transport way for Boat is on the river");
}
}//重点来啦,这是测试类, 这是检验方法的地方
package com.immoc;
public class TransportSearch {
public static void main(String[] args) {
// TODO Auto-generated method stub
Transportation A = new Transportation();
System.out.println(A);
System.out.println(A.num);
A.transportWay();
A.transportNum(400);
System.out.println();
Transportation B = new Bus();
System.out.println(B);
System.out.println(B.col);
System.out.println(B.num);
B.transportWay();
B.transportNum(500);
System.out.println();
Transportation B1 = new Bus();
System.out.println(B1);
System.out.println(B1.col);
B1.transportWay();
B1.transportNum(600);
System.out.println();
Transportation C = new Boat();
System.out.println(C);
System.out.println(C.col);
C.transportWay();
C.transportNum(700);
System.out.println();
Boat D = new Boat();
System.out.println(D);
System.out.println(D.col);
D.transportWay();
D.transportNum(900);
}
}package com.imooc;
public class Airphone extends TravelTool {
public void travel(){
System.out.println("汽车在陆地上跑、载客40人");
}
}
package com.imooc;
public class Bus extends TravelTool {
public void travel(){
System.out.println("汽车在陆地上跑、载客40人");
}
}
package com.imooc;
public class LunChuan extends TravelTool {
public void travel(){
System.out.println("轮船在海里游、载客200人");
}
}
package com.imooc;
public class Print1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
TravelTool bus = new Bus();
TravelTool lunChuan = new LunChuan();
TravelTool airplane = new Airphone();
TravelTool travelTool = new TravelTool();
bus.travel();
lunChuan.travel();
airplane.travel();
travelTool.travel();
}
}
package com.imooc;
public class TravelTool {
public void travel(){
System.out.println("交通工具有轮船、飞机和汽车");
}
}
父类是交通工具不是汽车吧!!
public class car {
public void methods(){
int num=60;
System.out.println("汽车可以在陆地上运输"+num+"名游客;");
}
}
public class plane extends car {
public void mothods(){
int num=300;
System.out.println("飞机可以在空中运输"+num+"名游客;");
}
}
public class ship extends plane {
public void methods(){
int num=200;
System.out.println("轮船可以在海上运输"+num+"名游客;");
}
}
public class Result {
public static void main(String[] args) {
// TODO Auto-generated method stub
car one1=new car();
car one2=new ship();
car one3=new plane();
one1.methods();
one2.methods();
one3.methods();
}
}
我就先写个交通工具类作为父类,含有人数和方式两个属性。然后分别写几个子类。最后用toString()输出。。