Java中Object类的常用方法

Object类是什么?

类层次结构的根类.每个类都使用 Object 作为超类(父类)。

getClass

public final Class getClass()

以Class形式表示的当前类

返回:表示此对象运行时类的 Class 对象。

Class类中有一个方法:public String getName()

以 String 的形式返回此Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称。

运行程序:

public class Dc {
    public static void main(String[] args) {
        Rmb a = new Rmb();
        Class c = a.getClass();
        System.out.println(c);
        System.out.println(c.getName());
        System.out.println(a.getClass().getName());
    }

}

运行结果:

class org.westos.Rmb

org.westos.Rmb

org.westos.Rmb


hashCode

public int hashCode()

返回该对象的哈希码值

哈希码值:一般是通过将该对象的内部地址转换成一个整数来实现的。

equals

public boolean equals(Object obj)

指示其他某个对象是否与此对象“相等”。

==对于引用变量来说是进行地址值的比较

按照正常情况:equals方法底层实际执行的两个对象在==进行比较(建议对此方法重写)

注意:当此方法被重写时,通常有必要重写 hashCode 方法,以维护 hashCode 方法的常规协定,该协定声明相等对象必须具有相等的哈希码。


toString

public String toString()

直接输出对象名称:实际执行了Object中的toString(),输出的全类名@十六进制数据

等于:getClass().getName() + '@' + Integer.toHexString(hashCode())

建议所有子类都重写此方法。

不想让toString()直接输出的是一个地址值(对象的地址值),就需要重写Object中的toSring(),一般情况:自动生成即可    

clone

protected Object clone()

                throws CloneNotSupportedException

创建并返回此对象的一个副本(相当于复制)

Object 类的 clone 方法执行特定的复制操作。首先,如果此对象的类不能实现接口 Cloneable,则会抛CloneNotSupportedException。

注意:所有的数组都被视为实现接口 Cloneable

finalize

protected void finalize()

                 throws Throwable

这个方法在gc启动,该对象被回收的时候被调用。其实gc可以回收大部分的对象(凡是new出来的对象,gc都能搞定,一般情况下我们又不会用new以外的方式去创建对象),所以一般是不需要程序员去实现finalize的。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值