JAVA:接口命名实践和指南

时间:2014-05-27 10:19:26

标签: java interface naming-conventions naming

需要关于Java接口命名模式的简短答案。

为什么大多数JAVA接口名称后缀都有" 能够" ?

例如

java.io.Serializable

java.lang.Cloneable

java.lang.Comparable

java.lang.Runnable

我已经探索并阅读了它,因为要识别行为,行为和能力等等但是并没有完全得到它。任何人都可以帮助一些有用的示例场景。

最佳!

阿伦

3 个答案:

答案 0 :(得分:2)

这些* able接口定义了我们可以对该类的实例执行的操作。

例如,实现java.lang.Comparable的类指示可以将该类的实例相互比较。类似地,实现java.lang.Runnable的类指示该类的实例可以由java.lang.Thread运行。

答案 1 :(得分:0)

因为实现了该接口的类'能够'做那个特定的事情。例如。实现Serializable的类的对象“能够”序列化。其余的例子也是如此。

答案 2 :(得分:0)

继承遵循 IS-A 关系。接口用作对象的顶级父对象,可以在方法中处理。

e.g。让我们假设我们想要编写一个方法,它接受任何可以克隆的对象,并拒绝所有其他对象。

public void doSomethingWithClonableObjects(Clonable c){
  ...
}

使用able结束这样的接口,可以使用英语流程,从而提高理解力。 即,这种方法适用于所有可克隆的物体。

或者,如果对象 IS 可克隆,则会被接受。

对于任何实现Clonable接口的对象,我们可以肯定地说这个对象是 IS Clonable。