接口 的定义和使用
本题主要练习Java中接口的基本语法和接口的映射规则。
具体要求如下:
-
创建一个名称为IVehicle的接口,在接口中添加两个无参数的方法start()和stop()。返回值均为void。
-
分别定义自行车类和公共汽车类Bike和Bus,均实现IVehicle接口.
-
在Main类的main()方法中创建Bike和Bus对象,并分别测试用Bike/Bus引用或IVehicle引用访问start()和stop()方法,观察接口带来的多态性效果。测试代码如下:
public class Main { public static void main(String[] args) { Bike bike = new Bike(); Bus bus = new Bus(); System.out.println("用Bike/Bus引用直接调用Start和Stop方法:"); bike.Start(); bus.Start(); bike.Stop(); bus.Stop(); System.out.println("\n用Ivehicle引用直接调用Start和Stop方法:"); IVehicle v1 = bike; v1.Start(); v1.Stop(); v1 = bus; v1.Start(); v1.Stop(); } }
输入样例:
输出样例:
在这里给出相应的输出。例如:
用Bike/Bus引用直接调用Start和Stop方法:
自行车开骑。
公交车开动。
自行车停止。
公交车停止。
用Ivehicle引用直接调用Start和Stop方法:
自行车开骑。
自行车停止。
公交车开动。
公交车停止。
abstract class IVehicle {
void Start(){
return;
}
void Stop(){
return;
}
}
class Bus extends IVehicle {
public void Start(){
System.out.println("公交车开动。");
}
public void Stop(){
System.out.println("公交车停止。");
}
}
class Bike extends IVehicle{
public void Start(){
System.out.println("自行车开骑。");
}
public void Stop(){
System.out.println("自行车停止。");
}
}
public class Main {
public static void main(String[] args) {
Bike bike = new Bike();
Bus bus = new Bus();
System.out.println("用Bike/Bus引用直接调用Start和Stop方法:");
bike.Start();
bus.Start();
bike.Stop();
bus.Stop();
System.out.println("\n用Ivehicle引用直接调用Start和Stop方法:");
IVehicle v1 = bike;
v1.Start();
v1.Stop();
v1 = bus;
v1.Start();
v1.Stop();
}
}