定义一个类 Shape在类中包含私有的成员变量:lieshu、hangshu.列数和行数,并通过提供的方法:rectangle(),来输出一个由星号组成的矩形。最后在测试类中创建对象对构造方法进行调用。
时间: 2024-11-09 11:23:57 浏览: 23
在Java中,你可以创建一个名为`Shape`的抽象基类,专门处理形状的通用特性,比如列数和行数。对于矩形这种具体的形状,我们可以定义一个名为`Rectangle`的子类。以下是相关的代码示例:
```java
// 定义抽象基类 Shape
abstract class Shape {
// 私有成员变量
protected int lieShu; // 列数
protected int hangShu; // 行数
// 抽象构造方法,需要子类覆盖
public Shape(int lieShu, int hangShu) {
this.lieShu = lieShu;
this.hangShu = hangShu;
}
// 抽象方法,子类需要实现
abstract void draw();
}
// 矩形子类 Rectangle 实现 Shape 类
class Rectangle extends Shape {
public Rectangle(int lieShu, int hangShu) {
super(lieShu, hangShu); // 调用父类构造方法
}
@Override
// 定义 rectangle() 方法,输出星号组成的矩形
void draw() {
for (int i = 0; i < hangShu; i++) {
for (int j = 0; j < lieShu; j++) {
System.out.print("* ");
}
System.out.println(); // 换行
}
}
}
// 测试类 Test
public class Test {
public static void main(String[] args) {
// 创建 Rectangle 对象,并调用构造方法
Rectangle rectangle = new Rectangle(5, 4);
// 输出矩形
rectangle.draw();
}
}
```
在这个例子中,`Shape`类是抽象的,它包含了列数和行数作为私有字段,并有一个抽象的`draw()`方法。`Rectangle`子类继承自`Shape`,实现了`draw()`方法来绘制一个矩形,通过传入特定的列数和行数来创建实例并在测试类中调用其构造方法。
阅读全文