来自JavaDoc of java.sql.Timestamp class(强调我的)
由于Timestamp类和上面提到的java.util.Date类之间存在差异,因此建议代码不要将Timestamp值一般视为java.util.Date的实例。 Timestamp和java.util.Date之间的继承关系实际上表示实现继承,而不是类型继承。
说实现继承而不是类型继承是什么意思?这是HAS-A与IS-A的案例吗?
答案 0 :(得分:5)
基本上,文档指出java.sql.Timestamp
扩展java.util.Date
这一事实是一个实现细节,您不应该使用Timestamp
个实例来获取Date
'的功能。据推测,如果java有选项(就像C ++那样),Timestamp
将私有地从Date
继承。
答案 1 :(得分:3)
他们的意思是他们将Timestamp设计为Date的子类,不具有多态性,因为Timestamp是Date,但是因为他们想要轻松地重用Date类中的代码。