实现继承在java.sql.Timestamp的javadoc中意味着什么?

时间:2014-03-10 07:35:15

标签: java sql inheritance jdbc timestamp

来自JavaDoc of java.sql.Timestamp class(强调我的)

由于Timestamp类和上面提到的java.util.Date类之间存在差异,因此建议代码不要将Timestamp值一般视为java.util.Date的实例。 Timestamp和java.util.Date之间的继承关系实际上表示实现继承,而不是类型继承

实现继承而不是类型继承是什么意思?这是HAS-A与IS-A的案例吗?

2 个答案:

答案 0 :(得分:5)

基本上,文档指出java.sql.Timestamp扩展java.util.Date这一事实是一个实现细节,您不应该使用Timestamp个实例来获取Date'的功能。据推测,如果java有选项(就像C ++那样),Timestamp将私有地从Date继承。

答案 1 :(得分:3)

他们的意思是他们将Timestamp设计为Date的子类,不具有多态性,因为Timestamp是Date,但是因为他们想要轻松地重用Date类中的代码。