繁体   English   中英

Java“莫名其妙地”调用方法

[英]Java call a method 'inexplicitly'

如果在抽象基类中有一个公共/私有方法m1和一个抽象方法m2,则如何使方法m1在子类中已实现的方法m2之前执行。 (基本上,我正在尝试在M1中进行一些基本验证)

在基类中,可以将一个方法作为该方法的API 入口点

 public void mCaller() {
     m1();
     m2();
 }

然后使用mCaller而不是直接调用m1m2 您还可以更改m1m2方法的可见性。

像这样:

public abstract class Base {
    public boolean m1() {
        // validation stuff
    }
    public final void m2() {
        if (m1()) {
            m2Imp();
        }
    }
    protected abstract void m2Imp();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM