zoukankan      html  css  js  c++  java
  • @builder 无法继承父类的解决办法

    在Lombock下,使用@builder无法继承父类的解决办法

    在Lombock1.18.4以后增加了@SuperBuilder注解来解决,但是可能是功能不完整,暂时还是无法解决继承问题

    于是按照网上其他达人的方案,自主实现@builder,虽然有点啰嗦,单好歹能用,期待@SuperBuilder后续能彻底解决问题,先将实现方式记录如下

    
    
      /**
      * 关键:父类里面用@AllArgsConstructor  标识一个全参构造函数
     **/
    @Getter
    @Setter
    @NoArgsConstructor
    @AllArgsConstructor  
    public class ParentBase implements Serializable {
        protected  String name;
    }
    
    
    @Getter
    @Setter
    @NoArgsConstructor
    public class ChildClass extends ParentBase implements Serializable {
    
    
        private Integer age;
    
        /**
        * 子类里面需要自己写一个Builder的构造器,来重写父类参数
        **/
        @Builder(toBuilder = true)
        public ChildClass(String name,Integerage){
            super(name);
            this.age= age;
        }
    }
    
    
        // 使用的时候就可以正常使用了:
        
        ChildClass child = ChildClass.builder().name("张三").age(16).build();
    
    

    基于以上两步,可以在@SuperBuilder完善之前暂时使用

  • 相关阅读:
    1-5-03:均值
    1-5-01:求平均年龄
    1-04-t6993:二进制位处理
    1-4-20:求一元二次方程的根
    1-4-19:简单计算器
    1-4-18:点和正方形的关系
    1-4-17:判断闰年
    1-4-16:三角形判断
    1-4-15:最大数输出
    停止IIS服务
  • 原文地址:https://www.cnblogs.com/athens/p/11781220.html
Copyright © 2011-2022 走看看