打印对象实例名称从随机方法返回值?JAVA

打印对象实例名称从随机方法返回值?JAVA,java,class,methods,return,Java,Class,Methods,Return,这是我的主要观点: public class testMain { public static void main ( String[] args ) { testClass test = new testClass(); System.out.println(test); } } 这是我的班级: public class testClass { private String word; public

这是我的主要观点:

public class testMain
{
     public static void main ( String[] args )
     {
          testClass test = new testClass();
          System.out.println(test);
     }
}
这是我的班级:

public class testClass
{
     private String word;

     public testClass(String s)
     {
          word = s;
     }

     public String toString()
     {
          return "test";
     }

 }
当我从toString方法输入System.out.println(testClass)时,会打印“test”。为什么?这个方法的返回是如何执行的?

当您执行时

System.out.println(test);
它调用对象上的toString方法。
默认情况下,它返回类名和附加信息,但您在类中定义了它(您覆盖了对象类中的默认方法),因此在您的示例中,它返回“test”

,因为
println
导致对参数调用
toString
。你还期待什么打印?你真的认为被调用的方法是随机的吗?