3 changed files with 96 additions and 0 deletions
@ -0,0 +1,37 @@ |
|||||
|
public class MainFiveAdvanced { |
||||
|
public abstract static class Vehicle { |
||||
|
public abstract void run(); |
||||
|
} |
||||
|
|
||||
|
public static class Car extends Vehicle { |
||||
|
public void run() { |
||||
|
System.out.println("This is car running!"); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public static class Bike extends Vehicle { |
||||
|
public void run() { |
||||
|
System.out.println("This is bike running!"); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public static class Truck extends Vehicle { |
||||
|
public void run() { |
||||
|
System.out.println("This is truck running!"); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public static void main(String[] args) { |
||||
|
Vehicle[] vehicles = new Vehicle[5]; |
||||
|
|
||||
|
vehicles[0] = new Car(); |
||||
|
vehicles[1] = new Bike(); |
||||
|
vehicles[2] = new Truck(); |
||||
|
vehicles[3] = new Car(); |
||||
|
vehicles[4] = new Truck(); |
||||
|
|
||||
|
for (Vehicle vehicle : vehicles) { |
||||
|
vehicle.run(); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,43 @@ |
|||||
|
public class MainFiveBasic { |
||||
|
public static abstract class Shape { |
||||
|
public abstract void draw(); |
||||
|
} |
||||
|
|
||||
|
public static class Circle extends Shape { |
||||
|
private final Double radius; |
||||
|
|
||||
|
public Circle(Double radius) { |
||||
|
this.radius = radius; |
||||
|
} |
||||
|
|
||||
|
public void draw() { |
||||
|
System.out.println("Drawing a circle of radius " + radius); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public static class Rectangle extends Shape { |
||||
|
private final Double side1; |
||||
|
private final Double side2; |
||||
|
|
||||
|
public Rectangle(Double side1, Double side2) { |
||||
|
this.side1 = side1; |
||||
|
this.side2 = side2; |
||||
|
} |
||||
|
|
||||
|
public void draw() { |
||||
|
System.out.println("Drawing a rectangle of " + side1 + " * " + side2); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public static void drawShape(Shape s) { |
||||
|
s.draw(); |
||||
|
} |
||||
|
|
||||
|
public static void main(String[] args) { |
||||
|
Shape circle = new Circle(1.23); |
||||
|
Shape rectangle = new Rectangle(1.23, 4.56); |
||||
|
|
||||
|
drawShape(circle); |
||||
|
drawShape(rectangle); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,16 @@ |
|||||
|
# 使用 |
||||
|
|
||||
|
```console |
||||
|
$ javac MainFiveBasic.java && java MainFiveBasic |
||||
|
Drawing a circle of radius 1.23 |
||||
|
Drawing a rectangle of 1.23 * 4.56 |
||||
|
``` |
||||
|
|
||||
|
```console |
||||
|
$ javac MainFiveAdvanced.java && java MainFiveAdvanced |
||||
|
This is car running! |
||||
|
This is bike running! |
||||
|
This is truck running! |
||||
|
This is car running! |
||||
|
This is truck running! |
||||
|
``` |
||||
Loading…
Reference in new issue