您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

协变量参数类型如何在Java中工作

协变量参数类型如何在Java中工作

重载是在编译时考虑的;覆盖在执行时考虑。

时间戳 重载 after,它不会 覆盖 现有方法- 因此您oneDate.after(twoDate)只考虑了中的方法java.util.Date; 而且即使你使用one.after(twoDate)它会 仍然 只使用after(Date)因为编译时类型twoDateDate不是Timestamp

如果你打电话one.after(two),然后 会用Timestamp.after(Timestamp)

Date.after(Date)仅考虑毫秒-但Timestamp仅将整数秒传递给的构造函数Date,因此即使您将不同的值传递给构造函数oneDatetwoDate也具有相等的毫秒值Date

值得在文档中Timestamp注意这一点:

由于上述Timestamp类和java.util.Date类之间的差异,建议代码不要以java.util.Date的实例的形式一般性地查看Timestamp值。Timestamp和java.util.Date之间的继承关系实际上表示实现继承,而不是类型继承。

老实说,听起来我对继承的使用非常差-但是Java有很多这样的:(

java 2022/1/1 18:15:41 有216人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶