Java中的钩子方法
鉤子方法是啥
鉤子顧名思義就是用來(lái)掛東西的。那么要掛東西必須有個(gè)被掛的東西,要不就是鐵環(huán)、要不就是墻的邊沿。所以要能掛住東西必須要有個(gè)被勾住的鐵環(huán),要一個(gè)鉤子。那么在java中也是同樣的原理,你首先需要一個(gè)被掛在的東西,一個(gè)掛載的東西。
鉤子的實(shí)現(xiàn)方法
是對(duì)于抽象方法或者接口中定義的方法的一個(gè)空實(shí)現(xiàn),在實(shí)際中的應(yīng)用,比如說(shuō)有一個(gè)接口,這個(gè)接口里有7個(gè)方法,而你只想用其中一個(gè)方法,那么這時(shí),你可以寫(xiě)一個(gè)抽象類(lèi)實(shí)現(xiàn)這個(gè)接口,在這個(gè)抽象類(lèi)里將你要用的那個(gè)方法設(shè)置為abstract,其它方法進(jìn)行空實(shí)現(xiàn),然后你再繼承這個(gè)抽象類(lèi),就不需要實(shí)現(xiàn)其它不用的方法,這就是鉤子方法的作用。
抽象父類(lèi)
public abstract class AbstractClass {public abstract boolean isOpen();public final void operating() {if(isOpen()) {System.out.println("鉤子方法開(kāi)啟");}else {System.out.println("鉤子方法關(guān)閉");}} }實(shí)現(xiàn)類(lèi)
public class AchieveClass extends AbstractClass {//鉤子方法能掛在到operating能干預(yù)到operating業(yè)務(wù)邏輯@Overridepublic boolean isOpen() {return true;}public static void main(String[] args) {AchieveClass ac = new AchieveClass();ac.operating();}}只要重寫(xiě)isOpen就能干預(yù)父類(lèi)方法的業(yè)務(wù)流程。相當(dāng)于將isOpen掛載在了父類(lèi)的operating()中。
總結(jié)
以上是生活随笔為你收集整理的Java中的钩子方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: nsga2 matlab,NSGA2算法
- 下一篇: Java消息中间件