【发布时间】:2014-03-11 16:14:07
【问题描述】:
我了解如何使用Comparable<T> 接口,但在这个具体示例中,我想知道是否有办法要求从抽象类中继承类(它实现了Comparable<T> 接口) 与自身可比。
让我重申一下,有一个实现 Comparable 接口的抽象类:
public abstract class MyAbstractClass implements Comparable<MyAbstractClass>
还有一个继承自这个抽象类的类:
public class MyClass extends MyAbstractClass
通常使用此设置,需要以下方法来满足 Comparable Interface:
public int compareTo(MyAbstractClass otherAbstractObject)
这需要我进行以下演员:
public int compareTo(MyAbstractClass otherAbstractObject)
{
MyClass otherObject = (MyClass) otherAbstractObject;
// Comparison...
return result;
}
鉴于尝试使用 MyAbstractClass 的不同子代很容易失败,我希望能够定义我的抽象类以接受以下方法:
public int compareTo(MyClass otherMyObject)
{
// Comparison...
return result;
}
关于如何实现这一点的想法?还是根本不可能?
【问题讨论】:
标签: java inheritance interface abstract comparable