私人领域最后一堂课

时间:2017-10-09 13:43:50

标签: java reflection

我们已经有了如下的最终课程。它有私人领域和领域的吸气剂。它没有setter,但它有一个内部类来设置某些字段的值。我使用Jacksonmapper从JSON字符串构造Vehicle对象。构建Vehicle对象后,我需要为某些字段设置值。由于我没有setter,因为我不能使用ObjBuilder,我使用了反射。而不是使用反射,是否有更合适的方法来设置私有字段的值,而不修改Vehicle类?

public final class Vehicle {
     private String regNo;
     private String make;
     private String model;

     public String regNo() {
         return regNo;
     }
     public String make() {
         return make;
     }
     public String model() {
         return model;
     }
     public static class ObjBuilder {
         Vehicle veh = null;
         public ObjBuilder(String regNo) {
             veh = new Vehicle(regNo); 
         }
         public ObjBuilder make(String val) {
             veh.make = val;
             return this;
         }

         public Vehicle build() {
             return veh;
         }
     }
}

0 个答案:

没有答案