需要关于Java接口命名模式的简短答案。
为什么大多数JAVA接口名称后缀都有" 能够" ?
例如
java.io.Serializable
java.lang.Cloneable
java.lang.Comparable
java.lang.Runnable
我已经探索并阅读了它,因为要识别行为,行为和能力等等但是并没有完全得到它。任何人都可以帮助一些有用的示例场景。
最佳!
阿伦
答案 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。