java - 我如何确保在 child 中调用 super 方法?

标签 java methods overriding super

如果我在一个类中有方法 public void send() {/* some code */} 并且这个类的子类也有一个方法 public void send() {/* some code*/},我如何确保 child 必须在它试图覆盖的 send() 方法中的某处调用 super.send() ?

我想知道这一点,因为我在 API 中编写过,如果您在覆盖它时不调用该方法的 super,它会抛出一个异常,告诉我我没有调用 super 方法。这是硬编码还是可以用 Java 中的一些关键字来完成?

最佳答案

你真的不能,但你可以...

class MySuperClass {
    public final void send() {
        preSend();
        // do the work...
        postSend();
    }

    protected void preSend() {
        // to be overridden in by sub classes
    }

    protected void postSend() {
        // to be overridden in by sub classes
    }

}

关于java - 我如何确保在 child 中调用 super 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6092705/

相关文章:

java - 更改 Google map 旋转轴

java - 在两个不同的类中调用方法 : Calling eachothers' methods

objective-c - 声明和访问 BOOL 类方法

ios - 覆盖 setContentOffset

swift - 在 Swift 中子类化 SCNScene - 覆盖 init

python - 关于 __getattr__ 和 __getattribute__ 的一些问题?

java - 如何将两个 SmsMessage 合并为一个 SmsMessage?

java - 如何在Android上实现OnClickListener

java - DispatcherServlet 未重定向到适当的 View

java - Android应用程序使用倒计时器在特定时间播放mp3文件