一些 Java 类需要具有带有公共 getter 和 setter 的私有属性才能正常运行。例如 JSF bean 和 JPA 实体需要它们。如果不是这些库,可能有一些属性不应该有任何 getter 并且绝对不是 setter。此外,自定义代码通常不鼓励使用空构造函数。例如
@Entity
public class MyEntity implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
public MyEntity() {}
public Long getId() {
return this.id;
}
public void setId(Long id) {
this.id = id;
}
}
在此类中,方法 setId 永远不应由手动代码调用。但是该方法并未被弃用,因此 @Deprecated 注释将是错误的。
除了@Deprecated 之外,还有其他方法可以告诉不应使用方法吗?