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领域,一个伴你成长的公众号!


  • 相关阅读:
    [InnoSetup]Inno Setup软件打包脚本
    inno setup 执行SQL
    用inno Setup制作web项目安装包
    Inno Setup执行SQL脚本的方法
    delphi的tserversocket控件如何接收16进制数
    Delphi 通信报Asynchronous socket error 10053错误的一个解决方法
    么正矩阵(酉矩阵)
    对称矩阵、Hermite矩阵、正交矩阵、酉矩阵、奇异矩阵、正规矩阵、幂等矩阵
    RSVP协议的基本概念介绍
    计算机顶级会议的历年最佳文章
  • 原文地址:https://www.cnblogs.com/naihuangbao/p/9445031.html
Copyright © 2011-2022 走看看