s-day01--Object类的toString方法
This commit is contained in:
@@ -0,0 +1,26 @@
|
|||||||
|
package com.inmind.object01;
|
||||||
|
/*
|
||||||
|
Object类:所有类的父类,java中所有的类直接或者间接继承自Object
|
||||||
|
|
||||||
|
String toString() 返回对象的字符串表示形式。
|
||||||
|
|
||||||
|
Object类的源码:
|
||||||
|
public String toString() {
|
||||||
|
return getClass().getName() + "@" + Integer.toHexString(hashCode());
|
||||||
|
}
|
||||||
|
|
||||||
|
注意:在实际开发中,一个对象的地址值对于我们而言,没有太大的帮助,我们程序员希望直接看到对象的内容(属性),那怎么办??
|
||||||
|
现在父类object的toString方法,不符合我们需求,我们就在自己类中重写toString方法,
|
||||||
|
|
||||||
|
总结:今后打印对象,如果发现打印是输出了地址,但是我们想看内容,那就应该在对应的类中重写toString,不用手动写,alt+insert自动生成即可
|
||||||
|
|
||||||
|
*/
|
||||||
|
public class Demo02 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Student s = new Student();
|
||||||
|
s.setName("张三");
|
||||||
|
s.setAge(19);
|
||||||
|
System.out.println(s);//com.inmind.object01.Student@41629346
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,4 +1,30 @@
|
|||||||
package com.inmind.object01;
|
package com.inmind.object01;
|
||||||
|
|
||||||
public class Student extends Person {//直接继承person类,间接继承了Object
|
public class Student extends Person {//直接继承person类,间接继承了Object
|
||||||
|
private String name;
|
||||||
|
private int age;
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getAge() {
|
||||||
|
return age;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAge(int age) {
|
||||||
|
this.age = age;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "Student{" +
|
||||||
|
"name='" + name + '\'' +
|
||||||
|
", age=" + age +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user