netty中builder模式-链式调用

2020-01-12  本文已影响0人  漫步无法人生

简化如下

该设计非常巧妙

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;
    }
}

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

上一篇下一篇

猜你喜欢

热点阅读