如何区分实现与规范

时间:2015-04-24 09:45:43

标签: java tomcat servlets specifications

假设我有一个简单的servlet程序,它只需要web容器。还假设我没有使用IDE来编译这个程序。我可以按如下方式编译我的程序。

javac -classpath /path/tomcat/common/lib/servlet-api.jar -d classes src/Ch1Servlet.java

有人告诉我servlet-api.jar只包含规范,实现由tomcat服务器提供。这让我很困惑。

如果我使用库编译程序,我在运行程序时仍然需要相同的库。因此,在某些时候,Tomcat在运行应用程序时必须使用上面指定的相同库(servlet-api.jar)。

实施和规范的真正含义是什么?是什么让代码成为规范?代码中的一个例子非常有帮助。

2 个答案:

答案 0 :(得分:1)

库包含声明 - 修复方法的接口。 E.g。

public interface SaveInterface {
  void save();
}

您使用界面保存数据,但实施可能会有所不同。 Tomcat将内容保存在此处的另一个应用程序中。一切都取决于实际的实施。但是你的逻辑并不关心它是如何实现的。您使用界面。

答案 1 :(得分:0)

接口/抽象类有助于规范,它的实际实现是我们用作实现的。