toString() 方法可以在 Java 中接受一个参数吗?

ak1*_*652 5 java

我在 eclipse 中对此进行了测试,它没有给我任何例外。但是我无法指定值 x。toString() 可以接受一个参数吗(我知道我下面的例子不是最好的)?

测试.java

public class Test {

    public String toString(int x){
        return "Hey "+ x;
    }

}
Run Code Online (Sandbox Code Playgroud)

主程序

public class Main {
      public static void main(String[] args){

          System.out.println(new Test());


      }
}
Run Code Online (Sandbox Code Playgroud)

Kon*_*kov 7

可以toString()辩论吗?

是的,在这种情况下,您将拥有一个重载 toString()方法。

System.out.println(t)但是,在调用 时,无论如何Object#toString()都会调用 (您可以通过检查PrintStream#println(Object t)方法的源代码来验证这一点)。

为了调用您的自定义.toString()方法,您必须执行以下操作(例如):

System.out.println(t.toString(5));
Run Code Online (Sandbox Code Playgroud)