JAVA常用类之-Object类

Object类

Object类介绍

  • object类是所有类的父类,每个类都会间接或直接的继承该类,该类中提供了一些常用的方法。(这就是为什么我们创建的类可以使用一些我们没有创建过的方法,如toString方法等等)

toString()方法

  • 在我们使用java打印语句的时候,我们会发现一些有趣的现象
        String name ="yibiao";
        System.out.println(name);

创建一个字符串类对象并打印,程序的输出结果为yibiao。

        Person p =new Person("yibiao",13);
        System.out.println(p);

创建一个自己创建的Person类对象,打印结果为basic.Person@1b6d3586
,即包名类名+@+地址

  • 为什么会出现这种现象呢,解释如下:
    首先,我们在使用打印语句打印对象时,会默认调用对象的toString()方法。也就是说如下的两行代码是划等号的。
System.out.println(name);
System.out.println(name.toString());
  • 那么当我们在打印自己创建的Person对象时,会默认调用该对象的toString()方法,但是我们并没有在创建该类的时候定义此方法,那为什么还是能调用此方法呢,原因即是我们在创建Person类时会自动继承Object类,也就继承了Object类的toString方法。而Object类的toString方法就是打印包名类名+@+地址。那为什么String类型打印的不是这个格式,而是字符串内容呢,这是因为String类改写了此方法。

equals()方法

普通自定义对象的equals()方法时比较两个对象的地址值,而String类型是比较字符串的内容。原因与toString()方法类似。重写前也就是Object类自带的equals()方法就是比较对象地址,而String类对其进行了改写。

注:Objects.equals(Object a,Object b)

该方法也可以比较字符串内容是否一致,并且可以处理空指针等问题,加了一些健壮性的判断。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值