Println(Object)小贴士

         println

     public void println(Object x)
打印 Object,然后终止该行。此方法首先调用 String.valueOf(x) 获取打印对象的字符串值,然后的行为如同先调用 print(String) 再调用 println() 一样。

参数:

x - 要打印的 Object


toString
public String toString()
返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。

Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:

getClass().getName() + '@' + Integer.toHexString(hashCode()) 
返回:

该对象的字符串表示形式。

情况1

Student 类:

package com.zzu119.Testdemo;
/**
 * 学生类
 *
 */
public class Student {
    private String name = "Tom";
    private int age = 20;

    public void toString1() {
        String str = "name is" + name + ",age is " + age;
    }

    public String toString2() {
        String str = "name is" + name + ",age is " + age;
        return str;
    }

/*    public String toString() {
        String str = "name is" + name + ",age is " + age;
        return str;
    }*/
}


测试类:

package com.zzu119.Testdemo;
/**
 * 学生测试类
 *
 */
public class StudentTest {

    public static void main(String[] args) {

        Student stu = new Student();
        System.out.println(stu);
    }

}


输出结果为: 类的全名

                 情况2

Student类

package com.zzu119.Testdemo;
/**
 * 学生类
 *
 */
public class Student {
    private String name = "Tom";
    private int age = 20;

/*    public void toString1() {
        String str = "name is" + name + ",age is " + age;
    }

    public String toString2() {
        String str = "name is" + name + ",age is " + age;
        return str;
    }
*/

    public String toString() {
        String str = "name is" + name + ",age is " + age;
        return str;
    }
}

测试类不变,输入结果为:



原文地址:https://www.cnblogs.com/archermeng/p/7537644.html