代码优化测试
1、接口ModelInterface
package com.niuniu.user.printTest;public interface ModelInterface {default String getPrintName(){return "name的默认值";}default Integer getPrintAge(){return 99;}default String getPrintC(){return "c的默认值";}
}
2、类ModelA、ModelB、ModelC
package com.niuniu.user.printTest;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;@Data
@AllArgsConstructor
@NoArgsConstructor
public class ModelA implements ModelInterface{private String name;private Integer age;private String a;@Overridepublic String getPrintName() {return this.name;}@Overridepublic Integer getPrintAge() {return this.age;}
}
package com.niuniu.user.printTest;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;@Data
@AllArgsConstructor
@NoArgsConstructor
public class ModelB implements ModelInterface{private String name;private Integer age;private String b;@Overridepublic String getPrintName() {return this.name;}@Overridepublic Integer getPrintAge() {return this.age;}}
package com.niuniu.user.printTest;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;@Data
@AllArgsConstructor
@NoArgsConstructor
public class ModelC implements ModelInterface{private String C;@Overridepublic String getPrintC() {return this.C;}}
3、返回的打印信息对象PrintVo
package com.niuniu.user.printTest;import lombok.Data;@Data
public class PrintVo {private String name;private String c;@Overridepublic String toString() {return "PrintVo{" +"name='" + name + '\'' +", c='" + c + '\'' +'}';}
}
4、填充打印信息PrintFillUtil
package com.niuniu.user.printTest;import lombok.Data;@Data
public class PrintFillUtil {public static PrintVo printFillTest(ModelInterface modelInterface) {PrintVo printVo = new PrintVo();printVo.setName(modelInterface.getPrintName());printVo.setC(modelInterface.getPrintC());return printVo;}
}
5、三个打印类
package com.niuniu.user.printTest;public class A {public static void main(String[] args) {ModelA modelA = new ModelA("原单",5,"a");PrintVo printVo = PrintFillUtil.printFillTest(modelA);System.out.println(printVo);}
}
package com.niuniu.user.printTest;public class B {public static void main(String[] args) {ModelB modelB = new ModelB("新单",6,"b");PrintVo printVo = PrintFillUtil.printFillTest(modelB);System.out.println(printVo);}
}
package com.niuniu.user.printTest;public class C {public static void main(String[] args) {ModelC modelC = new ModelC("C");PrintVo printVo = PrintFillUtil.printFillTest(modelC);System.out.println(printVo);}
}