Object类中的toString()方法学习心得

1.先大概介绍一下Object类:

  • Object类是JDK默认提供的一个类,所有类默认继承Object类。
  • Object类是所有类的父类,使用Object可以接受所有类的对象。
  • 那么如何体现(证明),Object类是所有类的父类呢?
    如果可以发生向上转型,则可以说明Object类是所有类的子类:
//默认继承(并没有写extends Object )
class Person{}
class Student{}
public class Test1 {
    public static void main(String[] args) {
        //将一个Person类的对象给Object(向上转型)
        //即:Object obj = new Person();
        fun(new Person());
        fun(new Student());
    }
    public static void fun(Object obj){
        System.out.println(obj);
    }
}

此处系统输出(pringt/println)输出对象时,默认调用对象的toString()方法。

2.取得对象信息toString();

  使用系统输出输出对象时,默认输出的是一个地址编码。
  而使用系统输出输出String常量时,输出的是字符串内容。
  本质原因在于Object类提供的toString()有没有被类所覆写。

class Person {
    private String name;
    private int age;

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

public class Test1 {
    public static void main(String[] args) {
        fun(new Person("fwb",20) );
        fun("Hello");
    }
    public static void fun(Object obj) {
        System.out.println(obj.toString()); // 默认输出对象调用的就是toString()方法}}
    }
}
覆写toString()方法:
class Person {
    private String name;
    private int age;

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

    public String toString() {
        return "姓名为:" + this.name + "年龄为:" + this.age;
    }
}

public class Test1 {
    public static void main(String[] args) {
        fun(new Person("fwb",20) );
        fun("Hello");
    }
    public static void fun(Object obj) {
        System.out.println(obj.toString()); // 默认输出对象调用的就是toString()方法}}
    }
}

猜你喜欢

转载自blog.csdn.net/qq_38534524/article/details/89478648
今日推荐