From a85b7d80a24a1632ee8d85eec24356c87097d409 Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Mon, 26 Jan 2026 11:36:05 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=9B=E9=98=B6day01-Object=E7=B1=BB?= =?UTF-8?q?=E7=9A=84toString=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/inmind/object01/Demo01.java | 45 +++++++++++++++++++ .../src/com/inmind/object01/Person.java | 15 +++++++ .../src/com/inmind/object01/Student.java | 12 +++++ 3 files changed, 72 insertions(+) create mode 100644 javaSE-day01/src/com/inmind/object01/Demo01.java create mode 100644 javaSE-day01/src/com/inmind/object01/Person.java create mode 100644 javaSE-day01/src/com/inmind/object01/Student.java diff --git a/javaSE-day01/src/com/inmind/object01/Demo01.java b/javaSE-day01/src/com/inmind/object01/Demo01.java new file mode 100644 index 0000000..5ecea24 --- /dev/null +++ b/javaSE-day01/src/com/inmind/object01/Demo01.java @@ -0,0 +1,45 @@ +package com.inmind.object01; +/* + Object:是所有类的父类,java中所有的类直接或者间接继承自Object + + ---------------------------------------------------------- + + /* + 2.Object类的toString方法 + String toString() 返回对象的字符串表示形式。 + + Object类的toString的源码: + public String toString() { + return getClass().getName() + "@" + Integer.toHexString(hashCode()); + } + + 注意:在实际开发中,一个对象的地址值对于我们而言,没有太大的帮助,我们程序员希望直接看到 + 该对象的内容(属性),那怎么办呢??? + + 现在父类的toString功能,不符合子类的需求,那么我们就可以在对应的子类中重写toString + + 总结:今后打印对象时,如果发现打印时输出了地址,但是我们想看属性内容,应该在该对象的类中重写toString,不用手动写,alt+insert自动生成即可 + */ + + + +public class Demo01 { + public static void main(String[] args) { + Person p = new Person(); + Student s = new Student(); + /* + 打印对象和对象的toString方法有什么关系 + + 打印对象,就是将对象的toString方法的内容,返回(com.inmind.object01.Person@41629346) + + 但是Object的toString的实现,不符合子类的需求,所以我们可以重写toString,实现只看内容不看地址 + + */ + p.name = "张三"; + p.age = 20; + System.out.println(p); + s.name = "李四"; + s.age = 21; + System.out.println(s); + } +} diff --git a/javaSE-day01/src/com/inmind/object01/Person.java b/javaSE-day01/src/com/inmind/object01/Person.java new file mode 100644 index 0000000..03c395f --- /dev/null +++ b/javaSE-day01/src/com/inmind/object01/Person.java @@ -0,0 +1,15 @@ +package com.inmind.object01; + +public class Person { + String name; + int age; + + + @Override + public String toString() { + return "Person{" + + "name='" + name + '\'' + + ", age=" + age + + '}'; + } +} diff --git a/javaSE-day01/src/com/inmind/object01/Student.java b/javaSE-day01/src/com/inmind/object01/Student.java new file mode 100644 index 0000000..2bf66ee --- /dev/null +++ b/javaSE-day01/src/com/inmind/object01/Student.java @@ -0,0 +1,12 @@ +package com.inmind.object01; + +public class Student extends Person{ + + @Override + public String toString() { + return "Student{" + + "name='" + name + '\'' + + ", age=" + age + + '}'; + } +}