//抽象类:武器 //属性:材料 //抽象方法:use() //子类1:刀 //子类2:剑 //测试类:主方法,测试运行
时间: 2024-03-15 20:40:37 浏览: 18
抽象类是一种不能被实例化的类,它只能被继承。在Java中,抽象类用关键字"abstract"来修饰。根据你的描述,我们可以定义一个抽象类"武器",它有一个属性"材料",以及一个抽象方法"use()":
```java
abstract class 武器 {
String 材料;
abstract void use();
}
```
然后我们可以创建两个子类"刀"和"剑"来继承"武器"类,并实现抽象方法"use()":
```java
class 刀 extends 武器 {
刀(String 材料) {
this.材料 = 材料;
}
void use() {
System.out.println("使用" + 材料 + "制作的刀进行攻击");
}
}
class 剑 extends 武器 {
剑(String 材料) {
this.材料 = 材料;
}
void use() {
System.out.println("使用" + 材料 + "制作的剑进行攻击");
}
}
```
最后,我们可以创建一个测试类,其中的主方法用于测试运行:
```java
public class 测试类 {
public static void main(String[] args) {
武器 刀1 = new 刀("铁");
刀1.use(); // 输出:使用铁制作的刀进行攻击
武器 剑1 = new 剑("钢");
剑1.use(); // 输出:使用钢制作的剑进行攻击
}
}
```
这样,我们就定义了一个抽象类"武器",并创建了两个子类"刀"和"剑"来实现抽象方法"use()"。测试类中的主方法用于创建对象并调用相应的方法进行测试运行。