为什么我可以覆盖 java.sql.Connection 中的某些方法而不是其他方法

Why am I able to override some methods from java.sql.Connection and not others

我正在构建一个简单的 JDBC 文本库驱动程序作为 class 的练习。我已经导入了提供给 eclipse 的源代码,在一个 class 中,我似乎能够覆盖 java.sql.Connection 中的一些方法,但对于 class 中的最后几个方法。

当我将鼠标悬停在错误上时,警告显示为:

“TextDBConnection 类型的方法 abort(Executor) 必须覆盖或实现超类型方法。 1 可用的快速修复: 删除@Override

如果我删除@Override,错误就会消失并且练习不需要它,但是我的 class 伙伴中的 none 在导入起始代码时遇到了这个错误,我很好奇至于问题的原因是什么。

abort, getNetworkTimeout and getSchema方法是在Java7中添加的。可能您使用的是Java的旧版本,其中不存在这些方法,所以您不能覆盖它们。

getNetworkTimeout 在 javadoc 中提到它是在 Java 1.7 中添加的所以我的猜测是您正在使用/编译 Java 1.6 或更低版本