车站检查危险品的设备,如果发现危险品会发出警告。编程模拟设备发现危险品。编写一个 Exception 的子类 DangerException,该子类可以创建异常对象,该异常对象调用 toShow()方法输出“属于危险品”。编写一个 Machine 类,该类的方法 checkBag(Goods goods)当发现参数 goods 是危险品时(goods 的 isDanger 属性是 true)将抛出 DangerException 异常。程序在主类的 main()方法中的 try-catch 语句的 try 部分让 Machine 类的实例调用checkBag (Goods goods)方法,如果发现危险品就在 try-catch 语句的 catch 部分处理危险品。展示代码示例
时间: 2023-06-05 13:04:29 浏览: 188
java知识点整理(良心出品必属精品).pdf
我理解了你的要求,请看下面的 Java 代码示例:
```java
class DangerException extends Exception {
public void toShow() {
System.out.println("属于危险品");
}
}
class Goods {
boolean isDanger;
// 省略其他属性和方法
}
class Machine {
public void checkBag(Goods goods) throws DangerException {
if (goods.isDanger) {
DangerException ex = new DangerException();
throw ex;
}
// 处理正常物品的代码
}
}
public class Test {
public static void main(String[] args) {
Machine machine = new Machine();
try {
Goods goods1 = new Goods();
goods1.isDanger = false;
machine.checkBag(goods1);
Goods goods2 = new Goods();
goods2.isDanger = true;
machine.checkBag(goods2);
} catch (DangerException ex) {
ex.toShow();
}
}
}
```
当 `Machine` 类的 `checkBag` 方法发现 `goods` 是危险品时抛出 `DangerException` 异常,该异常类重载了 `toShow` 方法,可以输出属于危险品的提示。在 `main` 方法中,我们创建了两个 `Goods` 对象并分别调用了 `checkBag` 方法,发现第二个物品是危险品时就会触发 `catch` 块中的异常处理代码,调用 `toShow` 方法输出提示信息。
阅读全文