Java中的重写toString方法
如果愿意,我如何使用同名的“toString()”方法? 如果不是,我是否必须将其返回类型设置为String如果我想为toString使用一个void返回类型,我应该如何更改其返回类型?java允许吗?Java中的重写toString方法,java,compiler-errors,tostring,object-to-string,Java,Compiler Errors,Tostring,Object To String,如果愿意,我如何使用同名的“toString()”方法? 如果不是,我是否必须将其返回类型设置为String如果我想为toString使用一个void返回类型,我应该如何更改其返回类型?java允许吗?toString()方法必须返回一个字符串。这是重写对象的toString()的唯一方法 如果希望使用相同的名称,但不覆盖对象的toString,则可以通过添加参数来重载名称toString,从而更改方法的签名 例如: public String toString() { return "
toString()
方法必须返回一个字符串。这是重写对象的toString()
的唯一方法
如果希望使用相同的名称,但不覆盖对象的toString
,则可以通过添加参数来重载名称toString
,从而更改方法的签名
例如:
public String toString()
{
return "method is successfully implemented";
}
toString()
方法必须返回字符串。这是重写对象的toString()
的唯一方法
如果希望使用相同的名称,但不覆盖对象的toString
,则可以通过添加参数来重载名称toString
,从而更改方法的签名
例如:
public String toString()
{
return "method is successfully implemented";
}
您试图以错误的方式重载toString()方法
重载方法通过传入方法的参数的数量和类型来区分。在代码示例中,draw(strings)和draw(inti)是不同且唯一的方法,因为它们需要不同的参数类型
不能用相同的名称、相同数量和类型的参数声明多个方法,因为编译器无法区分它们
<强>编译器在区分方法时不考虑返回类型,因此,即使它们具有不同的返回类型,也不能声明具有相同签名的两种方法。< /强>
您试图以错误的方式超载Strug()方法
重载方法通过传入方法的参数的数量和类型来区分。在代码示例中,draw(strings)和draw(inti)是不同且唯一的方法,因为它们需要不同的参数类型
不能用相同的名称、相同数量和类型的参数声明多个方法,因为编译器无法区分它们
<强>编译器在区分方法时不考虑返回类型,因此即使有不同的返回类型,也不能声明具有相同签名的两种方法。< /强>
< p>在类中使用<代码> toString()/<代码>的唯一方法是将返回类型保持为<代码>字符串
public void toString (String something)
{
System.out.println("method is successfully implemented " + something);
}
这就是它在Object
类中的定义方式,如果您希望覆盖它,则必须使用确切的签名
或者,如果您仍然希望使用方法名作为toString,那么您可以做的是更改方法的签名
方法的签名包括方法的名称和参数。
请记住,返回类型不是方法签名的一部分在类中使用toString()
的唯一方法是将返回类型保留为String
public void toString (String something)
{
System.out.println("method is successfully implemented " + something);
}
这就是它在Object
类中的定义方式,如果您希望覆盖它,则必须使用确切的签名
或者,如果您仍然希望使用方法名作为toString,那么您可以做的是更改方法的签名
方法的签名包括方法的名称和参数。
请记住,返回类型不是方法签名的一部分您可以查看java.lang.Object的源代码
toString方法具有字符串类型的返回值。您不能有另一个名为toString的方法,但返回类型不是String
实际上,在Java中,在任何继承关系中都是禁止的。调用该方法时,编译器只关心名称和参数。那么,它如何区分名称相同但返回类型不同的方法呢 您可以查看java.lang.Object的源代码
toString方法具有字符串类型的返回值。您不能有另一个名为toString的方法,但返回类型不是String
实际上,在Java中,在任何继承关系中都是禁止的。调用该方法时,编译器只关心名称和参数。那么,它如何区分名称相同但返回类型不同的方法呢 toString()不能为空,它必须始终返回字符串您不能这样做,只能返回null
其他内容,但请注意nullpointerException
toString()不能为空,它必须始终返回字符串您不能这样做,只需返回null
其他内容,但请注意nullpointerException
或只使用return null
athernavive of void:)@BhargavModi是的,但这样他就不能将toString()正确地用作任何代码行System.out.println(对象)Wild print方法成功实现,然后为null,它看起来会出错,或者只是使用return null
atlerative of void:)@BhargavModi是的,但是他将无法正确使用toString()作为任何代码行系统。out.println(对象)Wild print方法成功实现,然后为null,看起来wrong@Seelenvirtuose:这来自oracle文档:定义:方法声明的两个组件包括方法签名、方法名称和参数类型@Seelenvirtuose:这来自oracle文档:定义:方法声明的两个组件包括方法签名、方法名称和参数类型。