【发布时间】:2015-02-13 10:32:29
【问题描述】:
所以阅读 Java 中的标记接口概念时,我感觉有点不对劲,主要是因为我参与编写应用程序,而程序遇到运行时错误是一场灾难。
就设计而言,当我可以通过使用抽象类来避免运行时错误时,为什么我会在存在运行时错误风险的情况下使用标记接口。
我一直认为我会避免运行时错误,即使我可能会通过产生编译时错误来限制代码。
标记接口不会导致更高的失败风险,尤其是当越来越多的开发人员不会真正阅读那里的每一行文档时(不是我,我是好人之一)
也许它只是我脑海中的 C++,但是这样设计有什么好处吗?
【问题讨论】:
-
好吧,没有人喜欢在运行时失败的程序;我不明白你的意思是什么?请注意,如果可以帮助您,您可以使用
@Documented注释 -
在我看来,标记接口应该被视为已弃用,因为大多数用途注释更好。
-
@fge,使用标记接口,您不会强制任何编译时间限制,因此可能会导致运行时错误的可能性更高。那我为什么要使用它。
-
当然你可以强制执行。您可以在您的 API 中要求市场接口是 imlemwnte,如果不是,编译错误将会出错。你的问题没有意义。
-
@EJB,我们以 Cloneable 作为标记接口为例。在这种情况下,对实现者实际提供克隆功能没有任何限制。如果我使用抽象类实现了纯虚函数,我会在编译过程中捕获它
标签: java interface compilation runtime