Java基础知识强化27:Object类之toString()方法

1. Object类的toString()方法:

public  String  toString():返回该对象的字符串表示

2. 案例演示:

(1)Student类:

 1 package cn.itcast_02;
 2 
 3 public class Student {
 4     private String name;
 5     private int age;
 6 
 7     public Student() {
 8         super();
 9     }
10 
11     public Student(String name, int age) {
12         super();
13         this.name = name;
14         this.age = age;
15     }
16 
17     public String getName() {
18         return name;
19     }
20 
21     public void setName(String name) {
22         this.name = name;
23     }
24 
25     public int getAge() {
26         return age;
27     }
28 
29     public void setAge(int age) {
30         this.age = age;
31     }
32 
33     @Override
34     public String toString() {
35         return "Student [name=" + name + ", age=" + age + "]";
36     }
37 
38     // @Override
39     // public String toString() {
40     // // return super.toString();
41     // // return "hello";
42     // return "姓名:" + name + ",年龄:" + age;
43     // }
44     
45     
46 }

(2)StudentDemo,如下:

 1 package cn.itcast_02;
 2 
 3 /*
 4  * public String toString():返回该对象的字符串表示。
 5  * 
 6  * Integer类下的一个静态方法:
 7  *         public static String toHexString(int i):把一个整数转成一个十六进制表示的字符串
 8  * 
 9  * 这个信息的组成我们讲解完毕了,但是这个信息是没有任何意义的。所以,建议所有子类都重写该方法。
10  * 怎么重写呢?
11  *         把该类的所有成员变量值组成返回即可。
12  * 重写的最终版方案就是自动生成toString()方法。
13  * 
14  * 注意:
15  *      直接输出一个对象的名称,其实就是调用该对象的toString()方法。
16  */
17 public class StudentDemo {
18     public static void main(String[] args) {
19         Student s = new Student();
20         System.out.println(s.hashCode());
21         System.out.println(s.getClass().getName());
22         System.out.println("--------------------");
23         System.out.println(s.toString());// cn.itcast_02.Student@42552c
24         System.out.println("--------------------");
25         // toString()方法的值等价于它
26         // getClass().getName() + '@' + Integer.toHexString(hashCode())
27         // this.getClass().getName()+'@'+Integer.toHexString(this.hashCode())
28 
29         // cn.itcast_02.Student@42552c
30         // cn.itcast_02.Student@42552c
31 
32         System.out.println(s.getClass().getName() + '@'
33                 + Integer.toHexString(s.hashCode()));
34 
35         System.out.println(s.toString());
36 
37         // 直接输出对象的名称
38         System.out.println(s);
39     }
40 }
原文地址:https://www.cnblogs.com/hebao0514/p/4820967.html