Java抽象类:为派生类返回“this”指针

我试图用帮助器方法编写一些自定义异常来设置这样的变量:

public class KeyException extends RuntimeException {
    protected String Id;

    protected KeyException(String message) {
        super(message);
    }

    protected KeyException(String message, Throwable cause) {
        super(message, cause);
    }

    public String getId() {
        return keyId;
    }

    public KeyException withId(final String Id) {
        this.Id = Id;
        return this;
    }
}

但是,在我的派生类中,我不能使用“withId”方法,因为它只返回基类 – 无论如何返回“this”指针而不必覆盖每个派生类中的方法?

is there anyway to return the “this” pointer without having to override the method in every single derived class?

是的,请看下面的选项1.

您可以通过以下几种方式执行此操作:

>将结果转换为派生类

>在子类中重写它

>将返回类型更改为void.由于您在对象上调用方法,因此您已经有了指向它的指针.

翻译自:https://stackoverflow.com/questions/18204190/java-abstract-classes-returning-this-pointer-for-derived-classes

原文 

https://codeday.me/bug/20190112/528694.html

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » Java抽象类:为派生类返回“this”指针

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址