私は、すべての実装クラスがそれ自体とそのサブクラスと比較可能でなければならないようにインターフェースを定義しようとしています。
たとえば、次のことを考慮してください。
public interface Rating implements Comparable<Rating> {}
これは、クラスの実装がすべての評価と比較可能でなければならないことを意味します。
public class A implements Rating {
public int compareTo(Rating r) {return 0;}
}
次のようなクラスを定義できるように、その要件を緩和したいと思います。
public class A implements Rating {
public int compareTo(A a) {return 0;}
}