Java中的Object类

Object类是所有类的父类

声明一个类的时候,默认是继承了Object 

public class Person extends Object


toString()

Object类提供一个toString方法,所以所有的类都有toString方法
toString()的意思是返回当前对象的字符串表达

通过 System.out.println 打印对象就是打印该对象的toString()返回值


finalize()

当一个对象没有任何引用指向的时候,它就满足垃圾回收的条件
当它被垃圾回收的时候,它的finalize() 方法就会被调用。

finalize() 不是开发人员主动调用的方法,而是由虚拟机JVM调用的。

public class Hero {

    public String name;
    protected float hp;

    public String toString(){
        return name;
    }

    public void finalize(){
        System.out.println("这个英雄正在被回收");
    }

    public static void main(String [] args){
        //只有一个引用
        Hero hero;
        /**
         * 不断生成新的对象
         * 每创建一个对象,前一个对象就没有引用指向了
         * 那些对象就满足垃圾回收的条件
         * 当垃圾堆积得比较多的时候,就会触发垃圾回收
         * 一旦这个对象被回收的时候,就会调用finalize方法。
         */
        for (int i=0;i<1000000;++i){
           hero = new Hero();
        }
    }

}

equals() 

equals() 用于判断两个对象的内容是否相同
假设,当两个英雄的hp相同的时候,我们就认为这两个英雄相同
public boolean equals(Object object){
        if(object instanceof Hero){
            Hero hero = (Hero)object;
            return this.hp == hero.hp;
        }
        return false;
 }

==

这不是Object的方法,但是用于判断两个对象是否相同

更准确的讲,用于判断两个引用,是否指向了同一个对象


hashCode()

hashCode方法返回一个对象的哈希值


线程同步相关方法

Object还提供线程同步相关方法
wait()
notify()
notifyAll()


getClass()

getClass()会返回一个对象的类对象







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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值