【发布时间】:2016-01-03 06:50:40
【问题描述】:
我想为当前路径编写 getter 和 setter。
private Path currentPath;
public Path getCurrentPath() {
currentPath = Paths.get(".").toAbsolutePath().normalize();
return currentPath;
}
@Override
public void setCurrentPath(Path p) {
currentPath = Paths.get(".").toAbsolutePath().normalize();
}
看起来 getter 工作正常,但 setter 不行。 有人可以帮我吗?
【问题讨论】:
-
因为您没有使用
p类型的参数path。 -
只做
p.toAbsolutePath().normalize(); -
另外,你必须确保一旦你的 setter 设置了
currentPath,你的类会为你提供获取它的方法。现在,您的 getter 将丢弃currentPath中的所有内容并将其设置为其他内容。所以这会让你的 setter 没用,除非你的类中有其他方法使用currentPath。