zoukankan      html  css  js  c++  java
  • Java中的钩子方法

    钩子方法是啥

    钩子顾名思义就是用来挂东西的。那么要挂东西必须有个被挂的东西,要不就是铁环、要不就是墙的边沿。所以要能挂住东西必须要有个被勾住的铁环,要一个钩子。那么在java中也是同样的原理,你首先需要一个被挂在的东西,一个挂载的东西。

    钩子的实现方法

    是对于抽象方法或者接口中定义的方法的一个空实现,在实际中的应用,比如说有一个接口,这个接口里有7个方法,而你只想用其中一个方法,那么这时,你可以写一个抽象类实现这个接口,在这个抽象类里将你要用的那个方法设置为abstract,其它方法进行空实现,然后你再继承这个抽象类,就不需要实现其它不用的方法,这就是钩子方法的作用。

    抽象父类

    
    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()中。

  • 相关阅读:
    F#新Bug,小心! module 里的泛型变量。
    F#: mutable 关键字不适宜用于结构中声明可变值
    简说F#的数组
    元组——秃瓢(Tuple)
    如何用Xmind编写测试用例
    如何提高评审的效率
    接口测试实例/20200622
    mysql数据库的基本增删改查操作总结
    面试技巧篇02:面试前必看!
    面试技巧篇01
  • 原文地址:https://www.cnblogs.com/yanlong300/p/8446261.html
Copyright © 2011-2022 走看看