Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么应用于此对象的System.out.println打印此短语?_Java_Oop - Fatal编程技术网

Java 为什么应用于此对象的System.out.println打印此短语?

Java 为什么应用于此对象的System.out.println打印此短语?,java,oop,Java,Oop,我有两门课,在下面。当我运行TestSimple类时,它会打印出“BlueBlue是蓝色重复的”。该print语句作为System.out.println(item)执行,它是Simple()类的一个实例。我以前从未见过一个对象以短语的形式打印出来,我很难确定为什么会发生这种情况 我看到Simple类中有一个名为toString的方法,调用时应该打印出来,但我没有看到在任何地方调用该方法。这是怎么回事 public class Simple { private String word;

我有两门课,在下面。当我运行TestSimple类时,它会打印出“BlueBlue是蓝色重复的”。该print语句作为
System.out.println(item)
执行,它是
Simple()
类的一个实例。我以前从未见过一个对象以短语的形式打印出来,我很难确定为什么会发生这种情况

我看到
Simple
类中有一个名为
toString
的方法,调用时应该打印出来,但我没有看到在任何地方调用该方法。这是怎么回事

public class Simple {
     private String word; 
     private String phrase; 
     public Simple(int number, String w) {  
          word = w;     
          phrase = mystery(number, w);          
     }   
     private String mystery(int num, String s) {    
          String answer = "";   
          for (int k=0; k<num; k++) {       
               answer = answer + s;     
          }     
          return answer; 
     } 

     public String toString() {     
          return phrase + " is " + word + " repeated";
     }
}

是一个
PrintStream
,(来自链接的Javadoc)首先调用
String.valueOf(x)
,以获取打印对象的字符串值,并返回
obj.toString()的值。
是一个
PrintStream
,(来自链接的Javadoc)首先调用
String.valueOf(x)
获取打印对象的字符串值并返回
obj的值。toString()

toString()
是在打印对象或以其他方式隐式转换为字符串时br调用的方法。这就是该方法的用途。打印对象时,会隐式调用其toString。
toString()
是在打印对象或以其他方式隐式转换为字符串时将br调用的方法。这就是该方法的用途。打印对象时,会隐式调用其toString。
public class TestSimple{
     public void print() {      
          Simple item = new Simple(3, "blue");      
          System.out.println(item);         
     }      

     public static void main(String[] args) {
        new TestSimple().print();
    }
}