提问人:pro-frontend 提问时间:9/3/2023 最后编辑:Basil Bourquepro-frontend 更新时间:9/3/2023 访问量:36
如何进行Java继承/实现重复的私有/受保护字段?
How to do Java inheritance/implementing repeating private/protected fields?
问:
我正在尝试为数据库的所有实体实现一个 java 类。 每个实体 - 具有私有字段的类,其中所有字段都包含“created_at”和“updated_at”私有字段。
我的搜索点是避免所有实体烦人的重复复制粘贴字段。我想这是抽象的结构。
它将在 DAO 类中实现,作为每个 Entity 类的实现。
我尝试过使用接口和类,但这不应该作为接口的多重继承和私有实现。
如何在清晰的 JDBC/Lombok/Java 17 中做这样的事情:
--- 选项一---
public class Bank implements CreatedAt, UpdatedAt {
private String name;
// private LocalDate created_at; - already comes from 'CreatedAt'
// private LocalDate updated_at; - already comes from 'UpdatedAt'
}
--- 选项二---
@CreatedAt
@UpdatedAt
// or '@extendFields(CreatedAt, UpdatedAt)'
public class Bank implements CreatedAt, UpdatedAt {
private String name;
// private LocalDate created_at; - already comes from '@CreatedAt'
// private LocalDate updated_at; - already comes from '@UpdatedAt'
}
答:
2赞
Augusto
9/3/2023
#1
我认为您正在尝试实现 mixins,但 Java 不支持该概念。另一种方法是多重继承,Java 也不支持。
你可以有一个接口来声明抽象方法,并在具体类中实现它们。
或者,您可以有实现这些方法的基抽象类,并从任何需要 和 的类继承它。CreatedAt
UpdatedAt
Java 支持在接口上使用默认方法的基本类型的 mixin,但不支持默认属性。
评论