用JAVA写一个base类,自定义析构函数,调用析构函数时输出“base调用虚构函数”
时间: 2024-05-18 09:17:54 浏览: 116
在Java中,没有析构函数的概念,但是我们可以使用Java提供的finalize()方法来模拟析构函数。下面是一个示例代码,演示如何在base类中自定义finalize()方法,并在调用时输出一段提示信息。
```java
public class Base {
// 构造函数
public Base() {
// 初始化
}
// 自定义析构函数
protected void finalize() throws Throwable {
System.out.println("base调用虚构函数");
// 执行资源释放操作
super.finalize();
}
}
```
在这个示例代码中,我们定义了一个名为Base的类,并在其中定义了一个自定义的finalize()方法。当对象被垃圾回收器回收时,Java虚拟机会自动调用这个方法。在这个示例中,我们在finalize()方法中输出了一段提示信息,并且调用了super.finalize()方法来执行资源释放操作。
使用这个Base类时,只需要在需要用到析构函数的子类中继承Base类即可。当子类对象被垃圾回收时,就会自动调用Base类中的finalize()方法,并输出提示信息。
```java
public class SubClass extends Base {
// 构造函数
public SubClass() {
// 初始化
}
}
```
在这个示例中,我们定义了一个名为SubClass的子类,它继承了Base类。当SubClass对象被垃圾回收时,就会自动调用Base类中的finalize()方法,并输出提示信息。
阅读全文