java基础(二十五)Object

Object的概念

object是所有类的根类
object是不断抽取而来,具备着所有对象都具备的共性内容


object相关API

1.equals(object obj)

用于判断两个对象是否相同,比较的是地址,地址相同就返回true;


1.1.equals覆盖

public class Person{

private int age;
public Person(int age){
this.age=age;

public boolean equals(object obj){

    return this.age=p.age;

}
}
此时调用equals()方法
Person p1=new Person();
Person p2=new Person();
p1.equals(p2);
就会报错,因为参数会被向上转型为object,就没有了Person的特有方法。
所以,应改为如下:
public boolean equals(object obj){
if(!obj instanceof Person){
  throw new ClassCastException("类型错误");
}

Person p=(Person)obj;
return this.age=p.age;
}

ps:一般都会覆盖此方法,根据对象的特有内容,建立判断对象是否相同的依据。


2.hashcode()

返回该对象的哈希值
这个方法会把对象的存储地址通过哈希算法得到返回值。

十进制转为十六进制的方法
Integer.toHexString(value);


3.getClass();

返回对象的运行时类。

当我们new对象时,Person p =new Person(29);虚拟机会创建对应的class文件,Person.class文件,在java中万物皆对象,所以Person.class这个对象就是一个Class类的对象。

class Class{

    name;
    field;

}

开发中常见的就是getclass().getName();得到类名


4.toString();

这个方法返回的是这样的字符串:

对象.getClass().getName()+"@"+Integer.toHexString(对象.hashCode());

需要时可以重写此方法,

public String toString(){


return "123";
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值