Object类以及使用

文章介绍了Java编程中所有类都默认继承自Object类的事实,即使没有明确指定父类。Object类包含默认无参构造器,并提供了一些基本方法,如equals()。示例展示了如何在子类中重写equals()方法来比较对象的平等性。
摘要由CSDN通过智能技术生成
  1. Object类是所有的java类的根父类,所有的java类都直接或者是间接地继承了Object类
  2. 如果在一个类中没有使用extends关键字指明该类所继承的父类,那么该类的父类默认为
    java.lang.Object
  3. 在Object类中,存在一个默认的无参构造器,因此在调用一个类的默认无参构造器时,最终调用的是Object类的默认无参构造器

 新建一个类,名为demo_1

public class demo_1 {
}

之后查看该类的层次结构,可以发现该类的继承关系如下:

此时在demo_1类中并没有使用extends关键字指明它的父类,因此便默认继承Object类


现在,在上面demo_1类的基础上,新建一个它的子类,名为demo_2

public class demo_2 extends demo_1{
}

 此时再查看demo_2类的层次结构:

 

可以很清晰地看出,demo_2的父类是demo_1类,demo_1的父类是Object类,因此demo_2类的根父类是Object类


最后,可以进入Object类查看该类的具体结构,Object类默认提供了如下一些方法:

 

当然,Object类中的默认方法也是可以被重写的,下面便是一个重写的equals方法:

import java.util.Objects;

public class demo_1 {
    String str;

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        demo_1 demo1 = (demo_1) o;
        return Objects.equals(str, demo1.str);
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值