P76:Object 类

**

P76( Object 类):

**

一、Object 类与单根结构

  • Java 实现了一个单根结构,Java中所有的类,不管你愿意不愿意,不管你声明不声明,这些类一定都是一个叫做 Object 类 的子类 ,这个 Object 是 Java 的类型系统当中的那个根,所以这个叫单根结构
    在这里插入图片描述

二、Objcet类函数

  • Object 类函数有以下几个
    在这里插入图片描述

我们学习 toString()和 equals()函数

toString()函数

在这里插入图片描述
我们写一个 toString(),若懒得写,可以使用 ecplise 的自动生成 toString()函数功能右击->源码->生成 toString()->选择后点生成,如图:
在这里插入图片描述
在这里插入图片描述

在Java中,所有的对象都是继承自 Object,自然继承了 toString 方法,在当使用 System.out.println( ) 里面为一个对象的引用时,自动调用 toString 方法将对象打印出来。如果重写了 tostring 方法则调用重写的 toString 方法。

equals()函数

  • equals()函数的用处:比较两个对象的内容是否相同,因为用 “==” 是比较不了的,它只能用来比较:这两个变量是不是管理着同一个对象
    在这里插入图片描述

  • 显示 false 答案不正确,因为对于 Object 这个公共父类来说,它没有可能去知道它的某个子类长什么样子,所以我们需要自己写一个 CD 类的 equals

  • 可以使用 ecplise 的自动选择覆盖父类函数功能右击->源码->覆盖/实现方法->选择后点确定,它做的事情是列出父类有些什么函数,然后问你要重新改写哪个函数,如图:
    在这里插入图片描述
    改写之后如下:
    在这里插入图片描述

@Override是什么?

  • 是告诉编译器,下一行的那个函数,是一个覆盖了父类的那个函数,换句话说,它必须和父类的那个函数具有完全相同的函数签名或者说函数原型,也就是函数的名字、参数表必须一样并且必须都是 public,如果有一个不相同,就会被认为是编译错误,即使不被认为是编译错误,该函数也并不会去取代 Object 里头的那个相应的函数,运行结果依然是错误的
"equals"和"=="的区别(面试题)
  • equals 比较的是内容是否相等
  • == 基本类型的话比较的是值本身,应用类型的话比较的是地址值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值