Java中的鉤子方法

鉤子方法是啥

鉤子顧名思義就是用來掛東西的。那麼要掛東西必須有個被掛的東西,要不就是鐵環、要不就是牆的邊沿。因此要能掛住東西必需要有個被勾住的鐵環,要一個鉤子。那麼在java中也是一樣的原理,你首先須要一個被掛在的東西,一個掛載的東西。java

鉤子的實現方法

是對於抽象方法或者接口中定義的方法的一個空實現,在實際中的應用,好比說有一個接口,這個接口裏有7個方法,而你只想用其中一個方法,那麼這時,你能夠寫一個抽象類實現這個接口,在這個抽象類裏將你要用的那個方法設置爲abstract,其它方法進行空實現,而後你再繼承這個抽象類,就不須要實現其它不用的方法,這就是鉤子方法的做用。ide

抽象父類code

public abstract class AbstractClass {

    public abstract boolean isOpen();

    public final void operating() {
        if(isOpen()) {
            System.out.println("鉤子方法開啓");
        }else {
            System.out.println("鉤子方法關閉");
        }
    }
}

實現類繼承

public class AchieveClass extends AbstractClass {

  //鉤子方法能掛在到operating能干預到operating業務邏輯
    @Override
    public boolean isOpen() {
        return true;
    }

    public static void main(String[] args) {
        AchieveClass ac = new AchieveClass();
        ac.operating();
    }

}

只要重寫isOpen就能干預父類方法的業務流程。至關於將isOpen掛載在了父類的operating()中。接口

相關文章
相關標籤/搜索