Java 面向对象编程:交通工具类继承与构造方法示例
Java 面向对象编程:交通工具类继承与构造方法示例
本文将通过定义交通工具、汽车、火车、飞机等类,并利用继承关系和构造方法来实现面向对象编程的经典案例。示例中包括无参和带参构造方法,以及初始化块的使用。
交通工具类:
public class Transportation {
private String brand; // 品牌
private String color; // 颜色
private int maxSpeed; // 最高速度
public Transportation() {
System.out.println('调用了无参构造方法');
}
public Transportation(String brand) {
this.brand = brand;
System.out.println('调用了带参构造方法1');
}
public Transportation(String brand, String color) {
this.brand = brand;
this.color = color;
System.out.println('调用了带参构造方法2');
}
public Transportation(String brand, String color, int maxSpeed) {
this.brand = brand;
this.color = color;
this.maxSpeed = maxSpeed;
System.out.println('调用了带参构造方法3');
}
{
System.out.println('调用了初始化块');
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public int getMaxSpeed() {
return maxSpeed;
}
public void setMaxSpeed(int maxSpeed) {
this.maxSpeed = maxSpeed;
}
}
汽车类:
public class Car extends Transportation {
private int seats; // 座位数
public Car() {
System.out.println('调用了汽车的无参构造方法');
}
public Car(String brand) {
super(brand);
System.out.println('调用了汽车的带参构造方法1');
}
public Car(String brand, String color) {
super(brand, color);
System.out.println('调用了汽车的带参构造方法2');
}
public Car(String brand, String color, int maxSpeed, int seats) {
super(brand, color, maxSpeed);
this.seats = seats;
System.out.println('调用了汽车的带参构造方法3');
}
{
System.out.println('调用了汽车的初始化块');
}
public int getSeats() {
return seats;
}
public void setSeats(int seats) {
this.seats = seats;
}
}
火车类:
public class Train extends Transportation {
private int wagons; // 车厢数
public Train() {
System.out.println('调用了火车的无参构造方法');
}
public Train(String brand) {
super(brand);
System.out.println('调用了火车的带参构造方法1');
}
public Train(String brand, String color) {
super(brand, color);
System.out.println('调用了火车的带参构造方法2');
}
public Train(String brand, String color, int maxSpeed, int wagons) {
super(brand, color, maxSpeed);
this.wagons = wagons;
System.out.println('调用了火车的带参构造方法3');
}
{
System.out.println('调用了火车的初始化块');
}
public int getWagons() {
return wagons;
}
public void setWagons(int wagons) {
this.wagons = wagons;
}
}
飞机类:
public class Airplane extends Transportation {
private int passengers; // 容纳乘客数
public Airplane() {
System.out.println('调用了飞机的无参构造方法');
}
public Airplane(String brand) {
super(brand);
System.out.println('调用了飞机的带参构造方法1');
}
public Airplane(String brand, String color) {
super(brand, color);
System.out.println('调用了飞机的带参构造方法2');
}
public Airplane(String brand, String color, int maxSpeed, int passengers) {
super(brand, color, maxSpeed);
this.passengers = passengers;
System.out.println('调用了飞机的带参构造方法3');
}
{
System.out.println('调用了飞机的初始化块');
}
public int getPassengers() {
return passengers;
}
public void setPassengers(int passengers) {
this.passengers = passengers;
}
}
总结:
以上示例演示了如何使用继承和构造方法来创建交通工具类的层次结构。每个子类都继承了父类的属性和方法,并添加了自身特有的属性和方法。构造方法在对象创建时被调用,用于初始化对象的属性。初始化块则在构造方法执行之前被调用,用于执行一些通用的初始化操作。
希望本文对您理解 Java 面向对象编程有所帮助。
原文地址: https://www.cveoy.top/t/topic/mOgl 著作权归作者所有。请勿转载和采集!