所有类都直接或间接继承自Object类,Object类是所有Java类的根基类。
也就意味着所有的Java对象都拥有Object类的属性和方法。
如果在类的声明中未使用extends关键字指明其父类,则默认继承Object类。
Student类:
package com.pyk;
//子类
public class Student{
private String name;
private int age;
private double heigth;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age=age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name=name;
}
public double getHeigth() {
return heigth;
}
public void setHeigth(double heigth) {
this.heigth=heigth;
}
//空参构造器
public Student() {
}
//有参构造器
public Student(String name,int age,double heigth) {
this.name=name;
this.age=age;
this.heigth=heigth;
}
}
测试类:
package com.pyk;
public class Test {
public static void main(String[] args) {
Student s=new Student("pyk",19,180);
System.out.println(s/*.toString()*/);//com.pyk.Student@5e91993f
System.out.println(s.toString());//com.pyk.Student@5e91993f
}
}
Object类的toString()的作用:对象进行自我介绍
方法的原理:
出现的问题:父类Object提供的toString方法复杂难懂,因此子类Student对父类Object提供的toString方法不满意,不满意则需要对toString方法重写:
//重写Object中的toString方法
public String toString() {
return "这是一个Student对象,这个对象的名字:"+name+",年龄:"+age+",身高:"+heigth;
}
运行结果:
此时调用子类中重写的toString方法,增加了结果的可读性。