Java: Object

package com.gatsby.test;

public class Person {
	private String name;
	private int age;

	public Person() {

	}

	public Person(String name, int age) {
		this.name = name;
		this.age = age;
	}

	/*
	 * 直接打印对象的地址值没有意义,需要重写Object类中的toString方法 打印对象的属性(name,age)
	 */

	@Override
	public String toString() {
		return "Person [name=" + name + ", age=" + age + "]";
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

}
package com.gatsby.test;

import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;

public class Demo01ToString {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Person p = new Person("张三", 18);
		String s = p.toString();

		System.out.println(s);// com.gatsby.test.Person@15db9742 | Person类 重写toString Person [name=张三, age=18]
		// 直接打印对象的名字,其实就是调用对象的toString p=p.toString();
		System.out.println(p);// com.gatsby.test.Person@15db9742 | Person类 重写toString Person [name=张三, age=18]

		// 看一个类是否重写了toString,直接打印这个类的对象即可,如果没有重写toString方法那么打印的是对象的地址值
		Random r = new Random();
		System.out.println(r);// java.util.Random@6d06d69c 没有重写toString方法

		Scanner sc = new Scanner(System.in);
		System.out.println(sc);// java.util.Scanner[delimiters=p{javaWhitespace}+.. 重写toString方法

		ArrayList<Integer> list = new ArrayList<>();
		list.add(1);
		list.add(2);
		list.add(3);
		System.out.println(list);// [1, 2, 3] 重写toString方法
	}

}

  

  

原文地址:https://www.cnblogs.com/crushgirl/p/13521849.html