某个事件触发后,系统会自动调用该函数,而不是人为手动调用。
比如想在java中实现c++的析构函数,我们就可以用钩子函数来实习。
1,系统自动调用。
2,只需要编写函数体就行。
我们常用钩子的地方是函数关闭时,也就是Jvm中异常关闭和正常关闭。
public static void main(String[] args){
Runtime.getRuntime.addShutDownHook(
new Thread(()->System.out.println("已经关闭");)
);
System.out.println("运行中,即将关闭");
}
运行该函数,结果为
运行中,即将关闭
已经关闭
所以,钩子函数的使用很简单,只需要理解其中原理即可,同时它也非常有用。