鉴于下面的类定义.如何决定存根方法是静态还是非静态?
class Point {
private final int x;
private final int y;
public Point(int x, int y) {
this.x = x;
this.y = y;
}
// Should the methods add(), subtract() and inverseOf() be non-static ...
public Point add(Point point) {
}
public Point subtract(Point point) {
}
public Point inverseOf() {
}
// Or static?
public static Point add(Point point1, Point point2) {
}
public static Point subtract(Point point1, Point point2) {
}
public static Point inverseOf(Point point) {
}
}
Run Code Online (Sandbox Code Playgroud)
我会选择方法.然后,您可以使方法成为接口的一部分并覆盖它们.当你必须处理2d点或3d点并且有一些不太关心的客户端代码并且只需要在实现接口的Point上执行操作时,你将获得好处.
| 归档时间: |
|
| 查看次数: |
1719 次 |
| 最近记录: |