我知道这是编码,但我找不到任何在线,甚至远程帮助我理解它。
可能是形式?我的教科书没有谈论它,我的讲座对它没有多大帮助。
答案 0 :(得分:2)
方法规范:当然它指的是方法的名称,可见性,参数及其类型和方向(输入/输出),< strong>返回值以及可能的异常抛出。
方法合约:该方法执行时,预期行为,前置条件和后置条件。
示例:Java中的方法Object.equals具有此规范:
public boolean equals(Object obj)
...以及此合同,如其公开文档中所述:
指示某个其他对象是否“等于”此对象。
equals方法在非null上实现等价关系 对象引用:
它是自反的:对于任何非空引用值x,x.equals(x)应该返回true。 它是对称的:对于任何非空引用值x和y,当且仅当y.equals(x)返回时,x.equals(y)才应返回true 真正。 它是传递性的:对于任何非空引用值x,y和z,如果x.equals(y)返回true而y.equals(z)返回true,则 x.equals(z)应该返回true。 它是一致的:对于任何非空引用值x和y,x.equals(y)的多次调用始终返回true或 如果没有平等使用的信息,则始终返回false 对象的比较被修改。 对于任何非空引用值x,x.equals(null)应返回false。
类Object的equals方法实现最具辨别力 对象可能的等价关系;也就是说,对于任何非null 引用值x和y,当且仅当x时,此方法返回true 和y引用相同的对象(x == y的值为true)。
请注意,通常需要覆盖hashCode方法 每当重写此方法时,都要保持一般 hashCode方法的契约,它声明了相等的对象必须 有相同的哈希码。