根据以下要求补充java代码:编写一个Exception的子类DangerException,该子类可以创建异常对象,该异常对象调用toShow()方法输出“属于危险品”。 编写一个Machine类,该类的方法checkBag(Goods goods)当发现参数goods是危险品时(goods的isDanger属性是true)将抛出DangerException异常。 程序在主类的main()方法中的try-catch语句的try部分让Machine类的实例调用checkBag(Good goods)方法,如果发现危险品就在try-catch语句的catch部分处理危险品。
时间: 2024-02-29 14:51:23 浏览: 78
请参考以下Java代码实现:
```java
// DangerException.java
public class DangerException extends Exception {
public void toShow() {
System.out.println("属于危险品");
}
}
// Goods.java
public class Goods {
private boolean isDanger;
public boolean isDanger() {
return isDanger;
}
public void setDanger(boolean danger) {
isDanger = danger;
}
}
// Machine.java
public class Machine {
public void checkBag(Goods goods) throws DangerException {
if (goods.isDanger()) {
throw new DangerException();
}
}
}
// Main.java
public class Main {
public static void main(String[] args) {
Machine machine = new Machine();
Goods goods = new Goods();
goods.setDanger(true); // 模拟危险品
try {
machine.checkBag(goods);
} catch (DangerException e) {
e.toShow(); // 输出“属于危险品”
}
}
}
```
在上述代码中,我们首先定义了一个`DangerException`类,继承自`Exception`类。该类有一个`toShow()`方法,用于输出“属于危险品”。
接着,我们定义了一个`Goods`类,其中包含一个`isDanger`属性,表示是否是危险品。
然后,我们定义了一个`Machine`类,其中的`checkBag()`方法接收一个`Goods`对象作为参数,如果该对象是危险品,则抛出`DangerException`异常。
最后,在主方法中,我们实例化了一个`Machine`对象和一个`Goods`对象,并将`Goods`对象的`isDanger`属性设置为`true`,模拟危险品。然后,我们在`try-catch`语句中调用`checkBag()`方法,如果抛出了`DangerException`异常,则在`catch`块中调用`toShow()`方法输出“属于危险品”。
阅读全文