JDK升级后避免实现新的接口方法

时间:2018-03-19 12:48:02

标签: java java-8

我刚刚将一些项目从Java 6升级到Java 8,一个类正在实现Connection接口。现在Connection界面似乎有更多方法,但我不想实现所有缺失的方法,例如:Connection.getSchema()Connection.getConnectionTimeOut()等等。

我应该如何解决这个问题,因为我不想让我的课程抽象化,或者我应该实现所有缺失的方法?

2 个答案:

答案 0 :(得分:2)

如果Connection接口没有为给定的新Methodes实现Defaultmethods,则必须实现它们。如果它们未在您的Applicationcontext中使用,您可能只能将它们实现为空。虽然这将是您的问题的快速解决方案,但我不建议这样做,因为可能迟到其他一些类将不得不使用这些函数。

答案 1 :(得分:1)

你没有别的选择,只能实施它们。

但是,如果您的自定义连接实现不是通用的,那么可以摆脱这样的虚拟实现:

public String getSchema() {
    throw new UnsupportedOperationException("Connection::getSchema");
}

如果您发现确实需要其中一些方法,则可以返回并正确实施。

使类抽象无济于事。这只是将问题放到子类中...... 需要实现这些方法。