java - 从定义它的类中访问时如何摆脱警告“访问是私有的”?
问题描述
我有一个具有受保护属性的类,只能从此类中访问。因此,编译器正确地说访问可以是私有的。
但是,我也有一个clone()
方法,它为该属性创建一个新值,以便克隆具有该属性的单独实例。但是当对变量的访问是私有的时,从克隆方法访问它的行(在同一个文件中,请注意)抱怨该属性是私有的。
我必须对此代码进行哪些更改,以便在尝试为属性设置新值时不会收到警告?
public abstract class Foo<T extends Foo<T>> implements Cloneable {
private Gizmo bar = new Gizmo();
@SuppressWarnings( "unchecked" )
public T clone() {
try {
T copy = (T) super.clone();
copy.bar = new Gizmo();
return copy;
}
catch ( CloneNotSupportedException e ) {
// will never happen
return (T) this;
}
}
当我们讨论这个主题时,有没有更好的方法来摆脱未经检查的强制转换异常,而不是在我知道它总是会成功时抑制它?
解决方案
推荐阅读
- java - 为什么添加模块信息时Java无法读取相同的资源文件?
- java - 读取文件时如何在文件名中使用通配符
- python - 我得到一个逻辑错误,我该如何解决这个问题?
- python - numpy.ctypeslib.as_ctypes 到底在做什么
- python - 在 seaborn 的一个图形上从数据框的两列构建分布
- javascript - 在具有 firebase 错误的 vuejs 应用程序中
- python - 在 python 中用 shapefile 遮罩 bigtiff
- weblogic - 更改 JAX-RS 资源的 Weblogic 12c 自动注册的休息路径
- java - Cucumber-JVM:并行执行不完全并行
- java - Spring Boot RestTemplate 嵌套异常是 javax.net.ssl.SSLException: java.net.SocketException: Connection reset