流利语法初体验

流利语法,fluent syntax,可以实现方法级联,书写起来比较优雅。

netty中也有类似写法。

public abstract class AbstractBootstrap <B extends AbstractBootstrap<B,C>,C extends Channel>

In this signature, the subclass B is a type parameter to the superclass, so that a refer- ence to the runtime instance can be returned to support method chaining (so-called fluent syntax).

假设有父类A

public class A <B extends A>{

    String name;
    int age;
    
    public String getName() {
        return name;
    }
    
    public B setName(String name) {
        this.name = name;
        return (B) this;
    }
    public int getAge() {
        return age;
    }
    public B setAge(int age) {
        this.age = age;
        return (B) this;
    }
    
    
}

假设有子类B

public class B extends A{


    public static void main(String[] args) {
        B b = new B();
        b.setAge(111).
          setName("222");//方法级联
    }
    
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容