所謂鈎子方法是對於抽象方法或者接口中定義的方法的一個空實現,比如說有一個接口,這個接口中定義了很多個方法,而你想實現其中某一個方法,這個時候就可以寫一個抽象類實現這個接口,在這個抽象類里將你要用的那個方法設置為abstract,其它方法進行空實現,然后再繼承這個抽象類,就不需要實現其它不用的方法,這就是鈎子方法的作用。主要目的是:干預父類方法的業務流程
源碼如下所示:
public abstract class Parent { public abstract boolean isTrue(); public void print(){ if(isTrue()){ System.out.println("我愛你中國"); }else { System.out.println("我愛你世界"); } } }
public class Son extends Parent{ @Override public boolean isTrue() { return false; } public static void main(String[] args) { Son son = new Son(); son.print(); } }