代码设计 1.子类匿名类: Shape类包含String info成员变量并给出默认值,测试类的main方法中利用匿名类继承Shape,给出printArea方法同时打印info以及计算面积。 考虑新
时间: 2024-12-24 12:42:39 浏览: 2
在编程中,代码设计是一个关键环节,特别是涉及到面向对象编程(OOP)。子类匿名类是一种创建实例的方式,它允许你在不暴露子类名称的情况下,创建和扩展父类的功能。下面是一个简单的例子:
首先,我们有一个基础的Shape类,比如形状类Shape,它有一个用于描述信息的字符串成员变量`info`,默认值可能是"未知":
```java
public class Shape {
private String info = "未知";
// 构造函数和getInfo等其他方法
public void printInfo() {
System.out.println("Shape Info: " + info);
}
}
```
在测试类(如TestClass)的`main`方法中,我们可以使用匿名内部类的方式来创建Shape的一个子类实例,并覆盖或增加其功能,例如计算面积:
```java
public class TestClass {
public static void main(String[] args) {
Shape anonymousShape = new Shape() {
@Override
public double calculateArea() {
return 0; // 这里只是一个示例,实际需要实现具体的面积计算
}
// 新增一个printArea方法
public void printArea() {
System.out.println("Area: " + calculateArea());
}
};
// 调用匿名类的方法
anonymousShape.printInfo(); // 打印info
anonymousShape.printArea(); // 打印面积
}
}
```
在这个例子中,匿名类继承了Shape,覆盖了`calculateArea`方法,并添加了`printArea`方法,这样就可以自定义shape的行为。
阅读全文