java中的objec中的toString 方法

学生类未重写toString前:

 

package day7.demo1;

public class Stundent {
    public String name;
    public  int age;
    public Stundent(){

    }
    public Stundent(String name,int age){
     this.name=name;
     this.age=age;
    }
    public String getName(){
        return name;
    }
    public void SetName(String name){
       this.name=name;
    }

    public int getAge(){
        return age;
    }
    public void GetName(int age){
        this.age=age;
    }


}

 

学生类未重写toString后:

package day7.demo1;

public class Stundent {
    public String name;
    public  int age;
    public Stundent(){

    }
    public Stundent(String name,int age){
     this.name=name;
     this.age=age;
    }
    public String getName(){
        return name;
    }
    public void SetName(String name){
       this.name=name;
    }

    public int getAge(){
        return age;
    }
    public void GetName(int age){
        this.age=age;
    }
    @Override  //快捷建alt+inert
    public String toString() {
        return "Person{"+
                "name='"+name+'\''+
                ",age="+age+
                '}';
    }











}

重写前后打印效果:

package day7.demo1;

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

/**
 *java.lang.Object 类 Object 是类层次结构的根类。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。
 */


public class Demo1ObjectToString {
    public static void main(String[] args) {
        Stundent stundent=new Stundent("张三",10);
        //============类中未从写toString方法前,打印的是地址=============
        System.out.println(stundent.toString());//day7.demo1.Stundent@1540e19d==》重写后:Person{name='张三',age=10}
        System.out.println(stundent);//day7.demo1.Stundent@1540e19d
        //============重写了类小红的toString方法打印的不是地址值================》重写后:Person{name='张三',age=10}
        Scanner sc=new Scanner(System.in);
        System.out.println(sc);//[delimiters=\p{javaWhitespace}+][posit.......
        ArrayList<Integer> ARRAY=new ArrayList<Integer>();
        ARRAY.add(1);
        ARRAY.add(2);
        System.out.println(ARRAY); //[1, 2]

       //判断一个类是否重写了toString方法,直接打印对像即可,如果是地址值,那么该类就没有重写toString方法,如果打印的不是地址,那么就重写了toString
    }

}

 

posted @ 2021-05-27 15:06  程序杨%  阅读(88)  评论(0编辑  收藏  举报