Object类是类层次结构的根类
每个类都使用Object作为超类。所有对象(包括数组)都实现这个类的方法
所有类都是Object类的子类。
public String toString()方法
返回该对象的字符串表示。
通常,toString方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明且易于读懂的信息表达式。建议所有子类都重写此方法。
public boolean equals(Object obj)
指示其他某个对象是否与此对象“相等”。equals方法在非空对象引用上实现相等关系:
自反性
对称性
传递性
一致性
protected void finalize()throws Throwable
当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。子类重写finalize方法,一些配置系统需要或执行其他清除
public final Class<?>getClass()
返回此Object的运行时类。
重写toString和equals实例代码:
public class ObjectTest{
public static void main(String[] args){
Student s = new Student(1,"飞飞",18);
System.out.println(s);
Student s1 = new Student(1,"飞飞",18);
boolean a = s.equals(s1);
System.out.println(a);//false
}
}
class Student{
private String name;
private int sid;
private int age;
public Student(){}
public Student(int sid,String name,int age){
this.sid = sid;
this.name = name;
this.age = age;
}
//重写object类中的tostring方法
public String toString(){
return "sid ="+sid+",name="+name+"age="+age;
}
//重写equals方法,来实现两个对象的比较
public boolean equals(Object obj){
if(this==obj){
return true;
}
if(obj instanceof Student){
Student s = (Student)obj;
if(!this.name.equals(s.name)){
return false;
}
if(this.sid!=s.sid){
return false;
}
if(this.age!=s.age){
return false;
}
return true;
}
return false;
}
}