suchen

Heim  >  Fragen und Antworten  >  Hauptteil

java - Wie rufe ich einen Code standardmäßig auf, bevor ich eine statische Methode aufrufe?

Ich habe jetzt eine Tool-Klasse mit statischen Methoden für externe Aufrufe.
Jetzt hoffe ich, dass vor jedem Aufruf dieser statischen Methoden eine Methode oder ein Codeblock aufgerufen wird, der Standardparameter festlegt.
Ähnlich wie das Hinzufügen eines statischen Codeblocks, aber der statische Codeblock wird nur einmal ausgeführt, wenn die Klasse initialisiert wird, und nicht jedes Mal, wenn die statische Methode aufgerufen wird, was meinen Anforderungen nicht entspricht.

Die grundlegende Lösung besteht darin, dieser Werkzeugklasse eine statische Methode hinzuzufügen und darin die gewünschten Einstellungen vorzunehmen. In diesem Fall muss ich jedoch Anweisungen hinzufügen, um diese Methode in allen anderen statischen Methoden aufzurufen, da es hier viele statische Methoden gibt , es sind bereits mehr als 30, und es werden noch mehr werden, also möchte ich faul sein und fragen, ob es eine Möglichkeit gibt, das Problem zu lösen?

Hmm. . Als ergänzende Erklärung: Nachdem ich das AOP in den Kommentaren gelesen hatte, stellte ich fest, dass es möglicherweise meine Anforderungen erfüllen kann.
Wenn es nur reiner Java-Code wäre, wäre es für mich schwierig, meine Bedürfnisse zu lösen, selbst wenn ich darüber nachdenke.

淡淡烟草味淡淡烟草味2713 Tage vor895

Antworte allen(8)Ich werde antworten

  • 伊谢尔伦

    伊谢尔伦2017-06-12 09:27:34

    ....SF的处女答就给你了,
    别想了 不行...

    Antwort
    0
  • ringa_lee

    ringa_lee2017-06-12 09:27:34

    aop 我实在不知道该怎么解答你这问题了

    Antwort
    0
  • typecho

    typecho2017-06-12 09:27:34

    AOP

    Antwort
    0
  • 大家讲道理

    大家讲道理2017-06-12 09:27:34

    我的SF处女答也送给你了,换个解决方案吧

    Antwort
    0
  • 扔个三星炸死你

    扔个三星炸死你2017-06-12 09:27:34

    就不该用静态,
    如果一开始就是单例,
    就可以有初始化了,

    静态虽然可以定义一个类加载时执行的块,
    但一般并不适用,

    Antwort
    0
  • 滿天的星座

    滿天的星座2017-06-12 09:27:34

    虽然用派生类也可以实现,却只会更麻烦,不符合题主的方便快捷的目标。
    各种方法相较之下,还是题主的在各个static方法里加一行代码来的快捷一些。
    题主就复制粘贴一下吧,很快的。

    Antwort
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-12 09:27:34

    用正则表达式匹配出每个方法的开头,再插入你要的方法

    Antwort
    0
  • 三叔

    三叔2017-06-12 09:27:34

    方法参数加个callback即可,比如原先这么写public static void doSomeThing(Object args1)
    现在这么写

    public static void doSomeThing(Object args1,MyCallback callback){
        callback.execute(theargs...);
        //do other things...
    }

    Antwort
    0
  • StornierenAntwort