运行时和确定编译时间之间的差异

时间:2015-07-19 04:27:45

标签: java runtime compile-time

我创建了一个接口和一个堆栈。现在我可以通过该接口的引用或直接调用堆栈。我无法理解为什么我应该采用参考路线。 我所指的那本书说它的运行时实现更好。请有人解释一下

1 个答案:

答案 0 :(得分:0)

我不确定您所指的实际代码,但使用界面的好处是这样的。

interface Stack {
  void push (T x);
  T pop ();
}

class IntegerStack implements Stack<Integer> {

}

正如您所看到的,我们可以为每种类型准备Stack以接受所需的每种类型,但也可以通过相同的接口访问它。实际上,这个决定,通过接口调用哪个实现方法,由编译时做出,所以我不确定它是否回答了你的问题。

如果你知道你只坚持一个实现,那么使用接口是没用的。 (但很少发生软件开发为实际用途)

顺便说一下,如果您正在实施Stack,我相信使用更为人熟知的interface比自己实施更好。 ;)