netty中builder模式-链式调用

简化如下

该设计非常巧妙

public abstract class AbstractBootstrap<B extends AbstractBootstrap<B>> {
    
    private B self() {
        return (B) this;
    }
    
    public B group(EventLoopGroup group) {
        return self();
    }

}
public class ServerBootstrap extends AbstractBootstrap<ServerBootstrap> {

    public ServerBootstrap group2() {
        return this;
    }

}
public class Bootstrap extends AbstractBootstrap<Bootstrap> {
        
    public Bootstrap group2() {
        return this;
    }
}

在父类中巧用泛型解决了子类调用父类方法强转的问题

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容