关于在界面中合同之外使用的方法的说明

时间:2014-06-25 07:58:35

标签: java interface

http://docs.oracle.com/javase/tutorial/java/IandI/defaultmethods.html

中的

我现在可以使用to toString方法,尽管合同中没有说明吗?是因为它是公开的,所以任何声明公开的方法都可以使用吗?

4 个答案:

答案 0 :(得分:1)

在Java中,每个类都继承自Object,而toString()Object合同的一部分。

因此,任何Java对象都有toString()方法。此外,由于toString()不是final,因此任何类都可以选择提供自己的方法实现。

答案 1 :(得分:0)

toString()Object类中定义。而其他每个班级都是Object。您将始终隐式扩展Object类。因此,您可以在实例上调用Object类(hashCode(),toString(), wait()等)的任何方法。

答案 2 :(得分:0)

这是由java的超类Object继承的,

http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html

以下

clone()
boolean equals(Object obj)
protected void  finalize()
Class<?>    getClass()
int hashCode()
void    notify()
void    notifyAll()
void    wait()
void    wait(long timeout)
void    wait(long timeout, int nanos)

答案 3 :(得分:0)

接口定义了最低服务协议的合同 - 可以随时添加任何额外功能,但它不会成为合同的一部分。