静态内部类&非静态内部类
静态内部类:
官方说明:Nested classes that are declared static are called static nested classes.
即静态内部类也称为静态嵌套类,只是为了降低包的深度,方便类的使用。
适用场景:静态内部类适用于包含类当中,但又不依赖于外在的类,不用使用外在类的非静态属性和方法,只是为了方便管理类结构而定义。在创建静态内部类的时候,不需要外部类对象的引用。
代码样例:
@Setter @Getter public class QualityDto { private Integer total; private Integer personCount; private BigDecimal qoqTotal; private BigDecimal qoqPersonCount; private List<Entity> detailList; @Setter @Getter @NoArgsConstructor @AllArgsConstructor @Builder public static class Entity { private String name; private Integer value; private Integer collegeId; private Integer familyId; private Integer groupId; @JSONField(serialize = false) private String sort; } }
使用方法:
QualityDto.Entity qualityStatus = QualityDto.Entity.builder().collegeId(1)
.familyId(2).build();
普通内部类:
官方说明:Non-static nested classes are called inner classes.
即内部类归属于外部类的一部分,可以自由使用外部类的所有变量和方法
代码样例:
@Setter @Getter public class QualityDto { private Integer total; private Integer personCount; private BigDecimal qoqTotal; private BigDecimal qoqPersonCount; private List<Entity> detailList; @Setter @Getter public class Entity { private String name; private Integer value; private Integer collegeId; private Integer familyId; private Integer groupId; @JSONField(serialize = false) private String sort; } }
使用方法:
QualityDto.Entity qualityStatus = new QualityDto().new Entity();

浙公网安备 33010602011771号