Object类 是类层次结构的根类。
每个类都使用 Object 作为超类。
所有对象(包括数组)都实现这个类的方法
所有类都是Object类的子类。
public String toString()方法
返回该对象的字符串表示。
通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明且易于读懂的信息表达式。建议所有子类都重写此方法。

public boolean equals(Object obj)
指示其他某个对象是否与此对象“相等”。 equals 方法在非空对象引用上实现相等关系:
自反性
对称性
传递性
一致性
protected void finalize()throws Throwable
当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。子类
重写 finalize 方法,以配置系统资源或执行其他清除。
public final Class<?> getClass()
返回此 Object 的运行时类。
其它方法在后续章节中详解。
/**
Object对象
*/
public class Test9{
public static void main(String[] args){
Student s = new Student(1,"飞飞",18);
System.out.println(s);
Student s2 = new Student(1,"飞飞",18);
boolean b = s.equals(s2);
System.out.println("student equals "+b);
String str1 = new String("备备");
String str2 = new String("备备");
System.out.println(str1.equals(str2));
System.out.println(s.getClass()==s2.getClass());
}
}
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;
}
}
本文详细介绍了Java中Object类的基础知识,包括其作为所有类的超类的地位、提供的核心方法如toString、equals及finalize的作用与重写示例。通过具体代码展示了如何在自定义类中正确地重写这些方法。
6635

被折叠的 条评论
为什么被折叠?



