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 } }