s-day01-Object类的toString方法

This commit is contained in:
2026-07-28 15:04:31 +08:00
parent 79ad38dcc6
commit 38dbdfd5ef
2 changed files with 46 additions and 1 deletions
@@ -0,0 +1,27 @@
package com.inmind.object01;
/*
Object类:所有类的父类,java中所有的类直接或者间接继承自Object
String toString() 返回对象的字符串表示形式。
Object类的源码:
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
注意:在实际开发中,一个对象的地址值对于我们而言,没有太大的帮助,我们程序员希望直接看到对象的内容(属性),那怎么办??
现在父类object的toString方法,不符合我们需求,我们就在自己类中重写toString方法,
*/
public class Demo02 {
public static void main(String[] args) {
//创建学生对象
Student s = new Student("张三", 18);
System.out.println(s);//com.inmind.object01.Student@3b07d329
//student直接或者间接继承自Object类,所以对象s,可以调用Object类中的toString方法
String objStr = s.toString();
System.out.println(objStr);//com.inmind.object01.Student@3b07d329
//从今天开始,我不想要看地址了!!!!我要看内容!!!!
//为何学生类的toString重写了,打印对象也变了??因为println(object),底层本身就是调用该对象的toString方法
}
}
+19 -1
View File
@@ -1,4 +1,22 @@
package com.inmind.object01;
//间接继承Object类
public class Student extends Person{
public class Student extends Object{
String name;
int age;
public Student(){
super();
}
public Student(String name, int age){
super();
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}