我正在查看一部分代码,大致如下:
// compare points according to their polar radius
public static final Comparator<Point2D> R_ORDER = new ROrder();
.
.
.
private static class ROrder implements Comparator<Point2D> {
public int compare(Point2D p, Point2D q) {
double delta = (p.x*p.x + p.y*p.y) - (q.x*q.x + q.y*q.y);
if (delta < 0) return -1;
if (delta > 0) return +1;
return 0;
}
}
为什么在私有静态类内部定义公开方法?如果我将ROrder定义为非静态的公共方法,会带来什么问题?
为什么在私有静态类中定义公共方法?如果我将ROrder定义为非静态公共方法,会有什么危害?