/**Object类是JAVA中顶层的类,是老大。
*
* **/
package item;
class PersonO //实际是extends Object
{
int age;
PersonO(){}
PersonO(int age)
{
this.age=age;
}
//应该按照如下来写
public boolean equals(Object obj)
{
if(obj instanceof PersonO)
{
PersonO ren=(PersonO)obj;
return this.age==ren.age;
}else
return false;
}
//每次判断都要写判断两个人司否是同龄人
/*public boolean isSameAge(Person person)
{
return this.age==person.age;
}*/
}
class DogO
{
}
public class TestObject {
/**
* @param args
*/
public static void main(String[] args) {
// 例如:boolean equals(Object obj)//任何类型的对象都可以使用
/*PersonO p1=new PersonO();
PersonO p2=new PersonO();
boolean tt=p1.equals(p2);//返回布尔类型,ture or false
System.out.println(tt);
System.out.println(p1==p2);
DogO dog=new DogO();
boolean boo=p1.equals(dog);
System.out.println(boo);*/
PersonO p1=new PersonO();
System.out.println(p1.toString());//显示结果:item.PersonO@15db9742 对虾昂的字符串表示
System.out.println(p1.hashCode());//显示结果:366712642
System.out.println(Integer.toHexString(p1.hashCode()));//显示结果:15db9742
Class clz=p1.getClass();
String tt=clz.getName();//显示结果:item.PersonO直接得到此类的类名,字节码也被看成对象
System.out.println(p1.getClass().getName());//显示结果:item.PersonO
System.out.println(p1.getClass().getName()+"@"+Integer.toHexString(p1.hashCode()));
}
}
/*显示结果:
item.PersonO@15db9742
366712642
15db9742
item.PersonO
item.PersonO@15db9742
* */
标签: