diff --git a/w5/jichu/Shape.java b/w5/jichu/Shape.java new file mode 100644 index 0000000..a001ab1 --- /dev/null +++ b/w5/jichu/Shape.java @@ -0,0 +1,24 @@ +package w5.jichu; + +class Shape { + public void draw() { + System.out.println("绘制图形"); + } +} + + +class Circle extends Shape { + @Override + public void draw() { + System.out.println("绘制圆形"); + } +} + +class Rectangle extends Shape { + @Override + public void draw() { + System.out.println("绘制矩形"); + } +} + + diff --git a/w5/jichu/ShapeTest.java b/w5/jichu/ShapeTest.java new file mode 100644 index 0000000..9c32159 --- /dev/null +++ b/w5/jichu/ShapeTest.java @@ -0,0 +1,15 @@ +package w5.jichu; + +public class ShapeTest { + public static void drawShape(Shape s) { + s.draw(); + } + + public static void main(String[] args) { + Shape circle = new Circle(); + Shape rectangle = new Rectangle(); + + drawShape(circle); + drawShape(rectangle); + } +} \ No newline at end of file diff --git a/w5/jinjie/Vehicle.java b/w5/jinjie/Vehicle.java new file mode 100644 index 0000000..dde2d39 --- /dev/null +++ b/w5/jinjie/Vehicle.java @@ -0,0 +1,28 @@ +package w5.jinjie; + +abstract class Vehicle { + public abstract void run(); +} + +class Car extends Vehicle { + @Override + public void run() { + System.out.println("汽车在公路上行驶"); + } +} + +class Bike extends Vehicle { + @Override + public void run() { + System.out.println("自行车在非机动车道行驶"); + } +} + +class Truck extends Vehicle { + @Override + public void run() { + System.out.println("卡车在高速上行驶"); + } +} + + diff --git a/w5/jinjie/VehicleTest.java b/w5/jinjie/VehicleTest.java new file mode 100644 index 0000000..a041d84 --- /dev/null +++ b/w5/jinjie/VehicleTest.java @@ -0,0 +1,11 @@ +package w5.jinjie; + +public class VehicleTest { + public static void main(String[] args) { + Vehicle[] vehicles = {new Car(), new Bike(), new Truck()}; + + for (Vehicle v : vehicles) { + v.run(); + } + } +}