Java 关于接口中合同外使用的方法的澄清
在Java 关于接口中合同外使用的方法的澄清,java,interface,Java,Interface,在 我现在想知道,尽管合同中没有规定,但如何使用to-toString方法?是因为它是公共的,所以任何声明为公共的方法都可以使用吗?toString()在对象类中定义。而每一个类都是一个对象。您将始终隐式扩展对象类。因此,您可以在实例上调用对象类的任何方法(hashCode()、toString()、wait()etc) 在Java中,每个类都继承自对象的契约,并且是该契约的一部分 因此,任何Java对象都有一个toString()方法。此外,由于toString()是非final,因此任何类都
我现在想知道,尽管合同中没有规定,但如何使用to-toString方法?是因为它是公共的,所以任何声明为公共的方法都可以使用吗?
toString()
在对象
类中定义。而每一个类都是一个对象
。您将始终隐式扩展对象类。因此,您可以在实例上调用对象类的任何方法(hashCode()、toString()、wait()
etc) 在Java中,每个类都继承自对象
的契约,并且是该契约的一部分
因此,任何Java对象都有一个
toString()
方法。此外,由于toString()
是非final
,因此任何类都可以选择提供自己的方法实现。这是由java的超级类对象继承的
以及以下内容
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)
clone()
布尔等于(对象obj)
受保护的void finalize()
类getClass()
int hashCode()
作废通知()
void notifyAll()
无效等待()
无效等待(长超时)
无效等待(长超时,整数纳秒)
接口为最低服务协议定义了一个合同-任何额外功能都可以随时添加,但它不会成为合同的一部分。感谢您的回复!这些节省了我很多时间去寻找答案,我希望我现在可以投票,但看起来我还不能。所有的回复都很好,我觉得把其中一个评为最好的很内疚。