我们学习的所有类、我们以后定义的所有类,都是Object类的子类,也都具备Object类的所有特性。因此,我们非常有必要掌握Object类的用法。
Object类的基本特性
Object类是所有Java类的根基类,也就意味着所有的Java对象都拥有Object类的属性和方法。如果在类的声明中未使用extends关键字指明其父类,则默认Object类。
java
public class Person{
......
}
//等价于:
public class Person extends Object{
......
}
toString方法
Object类中定义有public String toString()方法,其返回值类型是String类型。Object类中toString方法的源码为:
java
public String toString(){
return getClass().getName()+"@"+Integer.toHexString(hashCode());
}
根据如上源码得知,默认会返回"类名+@+16进制的hashcode"。在打印输出或者用字符串连接对象时,会自动调用该方法的对象的toString()方法。
重写toString()方法的实例代码
java
class Person{
String name;
int age;
@Override
public String tostring(){
return name+",年龄:"+age;
}
}
public class Test{
public static void main(String[]args){
Person p=new person();
p.age=20;
p.name="kuku";
System.out.println("info:"+p);
Test t=new Test();
System.out.println();
}
}