Object类是所有Java类的根基类,也就意味着所有的Java对象都拥有Object类的属性和方法。如果在类的声明中未使用extends关键字指明其父类,则默认继承Object类。
toString
Object类中定义有public String toString()方法,其返回值是 String 类型。Object类中toString方法的源码为:
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
根据如上源码得知,默认会返回“类名+@+16进制的hashcode”。在打印输出或者用字符串连接对象时,会自动调用该对象的toString()方法。
package OOprogress;
/*
* test Object类中的toString方法
*/
public class testObject {
public static void main(String[] argd) {
testObject to = new testObject();
System.out.println(to);
//调用继承Object类中的toString方法
/*
public String toString(){
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}*/
System.out.println(to.toString());
Person2 p = new Person2("希希", 6);
System.out.println(p.toString());
}
//在testObject类中重写toString方法
public String toString() {
return "测试Object对象!";
}
}
//有同名类会报错
class Person2{
String name;
int age;
@Override //注解(表示下方方法重写)
public String toString() {
return name + "年龄 : " + age;
}
//构造器
public Person2(String name, int age) {
this.name = name;
this.age = age;
}
}
继承关系图如下
来源:CSDN
作者:云疏不知数
链接:https://blog.csdn.net/qq_43808700/article/details/104119065