介绍Object类中的常用方法(equals和 toString)
Object类是所有类的根类,定义了所有对象都有具备的功能。
API(应用程序接口)文档
API 8:Java API Specifications-Java SE 8
举例介绍:
class Person extends Object
{
private int age;
Person(int age)
{
this.age=age;
}
//判断是否是同龄人。这个方法也是在比较两个person对象是否相等。
//注意,person类中是否有比较两个person对象相等的方法? 有,Object具备中equals方法
//可以继续使用Object的equals方法,但是建立子类的自己的内容,即重写。
/*
public boolean compare(Person p)
{
return this.age==p.age;
}
*/
//重写
//【记住:以后判断对象是否相同,就需要覆盖equals方法】
public boolean equals(Object obj)
{ //建立person自己的判断相同的依据,判断年龄是否相同。
//如果调用该方法的对象和传递进来的对象是同一个,就不要转型和判断,直接返回ture,效率更高
if(this == obj)
return true;
//age是Person类型的属性,既然要用法哦子类型的内容,需要向下转型。
if(!(obj instanceof Person))
throw new ClassCastException("类型转换异常");
Person p =(Person)obj;
return this.age==p.age;
}
public String toString()
{
return "Person[age = "+age+"]";
}
}
class ObjectDemo
{
public static void main(String[] args)
{
Person p1=new Person(12);
Person p2=new Person(15);
// System.out.println(p1.compare(p2));
// System.out.println(p1==p2);
System.out.println(p1.equals(p2));
System.out.println(p1.toString());//Person@15db9742
System.out.println(p2.toString());
}
}