设计一个案例说明实现构造方法的重载
时间: 2024-12-03 14:26:08 浏览: 11
当我们设计一个类,比如一个“Shape”类,代表各种二维图形,如Circle、Rectangle等,我们可以利用构造方法的重载来创建不同类型的形状实例。以下是简单的例子:
```java
// 定义一个基础Shape类
class Shape {
protected String color; // 共享属性
// 构造方法重载,接受颜色参数
public Shape(String color) {
this.color = color;
}
// 只提供默认构造函数,用于其他构造方法重载
public Shape() {
this.color = "black"; // 默认颜色
}
}
// 圆形Circle类继承自Shape,并添加特定属性半径
class Circle extends Shape {
private double radius;
// 为Circle类重载构造方法,接受颜色和半径
public Circle(String color, double radius) {
super(color); // 调用父类构造方法
this.radius = radius;
}
// 如果只给定颜色,使用默认半径
public Circle(String color) {
super(color);
}
}
// 矩形Rectangle类也继承Shape,并添加宽度和高度属性
class Rectangle extends Shape {
private double width;
private double height;
// 为Rectangle类重载构造方法,接受颜色、宽度和高度
public Rectangle(String color, double width, double height) {
super(color);
this.width = width;
this.height = height;
}
// 如果只给定颜色,使用默认的宽度和高度
public Rectangle(String color) {
super(color);
}
}
阅读全文