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;
}
}
在父类中巧用泛型解决了子类调用父类方法强转的问题