概述:java.lang.Object,类是java语言中的根类,即所有类的父类,它中描述的所有方法子类都可以使用,在对象实例化的时候,最终找的父类就是Object。
如果一个类没有特别指定父类,那么默认则继承自Object类。
package Demo02;
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 "我叫"+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 Demo02;
import java.util.Random;
import java.util.Scanner;
public class Demo01ToString {
public static void main(String[] args) {
/*
* Person类默认继承了Object类,所以可以使用Objecct
* 类中的toString方法,
* String toString()返回该对象的字符串表示
*/
Person p=new Person("嘿嘿",20);
String s = p.toString();
System.out.println(s);//Demo02.Person@1540e19d 我叫嘿嘿,今年20岁了啦
//直接打印对象的名字,其实就是调用对象的toS tring方法
//p=p.toString();
System.out.println(p);//Demo02.Person@1540e19d 我叫嘿嘿,今年20岁了啦
/*
* 看一个类是否重写了toString方法,直接打印这个类对应对象的名字即可
* 如果没有重写toString方法,那么打印的就是对象的地址值(默认)
* 如果重写toString方法,那么就按照重写的格式打印
*/
Random r=new Random();
System.out.println(r);
Scanner sc=new Scanner(System.in);
System.out.println(sc);
}
}