zoukankan      html  css  js  c++  java
  • Java Object类的toString()方法

    Java只要定义一个类,那么它都在继承,没有说明它在继承哪个类的时候,则默认继承java.lang.Object类,也就是说Object类是所有类的父类。看下面一段代码。

    public class ObjectInstance{   //没有继承类则默显示继承Object类
    public static void main(String[] args){
    ObjectInstance o1=new ObjectInstance();
    Object o2=new Object();   //因为继承了Object类,所以可以创建Object类的对象,注意Object首字母大写  
    System.out.println(o1.toString());
    System.out.println(o2.toString());
    Person p1=new Person("张三",32);
    System.out.println(p1.toString());
    }
    }
    class Person{
    String name;
    int age;
    Person(String name,int age){  //构造方法
    this.name=name;
    this.age=age;
    }
    public String toString(){
    return "Person[name=" + this.name + ",age=" + this.age + "]"; 
    }
    }

    上面这段代码根据需要重写了toString()方法,在Object中设计toSring()方法的目的:返回java对象的字符串表示。而在现实的开发过程中,Object里边的toString()方法已经不够用了,因为Object中的toString()方法实现的结果不太满意,Object中的toString()方法就是要被重写的。上面这段代码可以拆分来看:

    public class ObjectInstance{   //没有继承类则默显示继承Object类
    public static void main(String[] args){
    ObjectInstance o1=new ObjectInstance();
    Object o2=new Object();   //因为继承了Object类,所以可以创建Object类的对象,注意Object首字母大写  
    System.out.println(o1.toString());
    System.out.println(o2.toString());
    }
    }

    这就是原始的Object类中的toString()方法,它将创建的o1,o2对象的字符串形式表示出来。接下来在创建Person类,默认继承默认继承Object类,重写toString()方法。

    class Person{
    String name;
    int age;
    Person(String name,int age){  //构造方法
    this.name=name;
    this.age=age;
    }
    public String toString(){   //重写toString()方法
    return "Person[name=" + this.name + ",age=" + this.age + "]"; 
    }
    }

    之后创建对象,并调用重写的toString()方法。代码如下:

    Person p1=new Person("张三",32);
    System.out.println(p1.toString());

    整段代码运行后输出:

    ObjectInstance@15db9742
    java.lang.Object@6d06d69c
    Person[name=张三,age=32]

    wx搜索“程序员考拉”,专注java领域,一个伴你成长的公众号!


  • 相关阅读:
    堆(优先队列)模板
    线段树(递归)模板
    快速幂(含二阶方阵类)模板
    ACM/CF赛制getstart模板
    [Andrew Stankevich's Contest#21] Lempel-Ziv Compression
    [NOIP2001]Car的旅行路线
    [NOIP2007] 矩阵取数游戏
    [NOIP2010] 关押罪犯
    [NOIP1999] 拦截导弹
    设计模式之第1章-工厂方法模式(Java实现)
  • 原文地址:https://www.cnblogs.com/naihuangbao/p/9445031.html
Copyright © 2011-2022 走看看