2015-09-26 86 views
1

为了解释我的问题,在下面的代码中,为什么我必须传递类的对象/实例才能看到如何重写toString方法以及为什么toString方法,没有类型接受那个对象的参数?为什么对象类方法将类的实例作为它们的参数

Class Teacher 

{ 

     public String toString() 

     { 

      return("Hello") 
     } 
} 


Class TestTeacher 

{ 

      public static void main(String []arr) 
      { 
       Teacher obj = new Teacher(); 
       System.out.println(obj); 
      } 
} 

回答

0

为什么我要传递一个类的对象/实例只是为了看看toString方法被重写

你并不需要通过对象为toString方法,您可以直接致电

Teacher obj = new Teacher(); 
String output = obj.toString(); 
System.out.println(output); 

为什么toString方法有一个类型参数来接受该对象?

它没有。我认为你很困惑,因为你用对象调用普通的println函数。依次调用toString函数以便能够将某些内容打印到标准输出。因此,此处的对象不是toString的参数,而是println函数的参数。

+0

谢谢Bas ..但为什么类的对象被传递给toString方法而不是字符串? – Scorpio

+0

该对象被传递给println函数(而不是tostring)。这只是一个简短的符号,当println检测到你想打印一个对象时,它会调用对象的toString函数。 –

+0

非常感谢你......现在我可以停止在计算机上猛击我的脑袋:) – Scorpio

相关问题