簡化如下
該設計非常巧妙
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;
}
}
在父類中巧用泛型解決了子類調用父類方法強轉的問題