【发布时间】:2011-01-11 18:30:01
【问题描述】:
给定下面的类定义。如何决定存根方法应该是静态的还是非静态的?
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) {
}
}
【问题讨论】:
-
不,这不是家庭作业。我只是很难确定我的应用程序中的某些方法应该是静态的还是非静态的。我使用了一个简单的例子来确保我的应用程序的细节不会分散问题的关键元素,即静态与非静态。
-
我肯定会参加
final的课程。另外,将构造函数设为private并添加静态创建方法也是一个好主意。
标签: java static api-design