栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Object类和引用数据类型的比较

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Object类和引用数据类型的比较

目录

一、Object类

1、所有class类的共同父类

​2、子类继承了Object的所有方法

3、JDK对Object类的扩展

 4、注意Object不能接收8大基本类型

二、引用数据类型比较用equals方法


一、Object类

1、所有class类的共同父类

Object类是java中所有类的默认父类,无须使用extends来继承,只要是class声明的类,就都会有共同的父类Object类。(java.lang.Object)

提问:为什么要有Object父类呢?

①因为Object类对所有类的父类,所以就可以使用Object引用来接受所有类型,实现参数最该统一化,java中的所有类型都可以发生向下转型变为Object类型(不包括基本数据类型)。

Object obj1=new Person();

Object obj2=new String();

Object obj3=new Cat();

2、子类继承了Object的所有方法

 子类继承了Object的所有方法

之所以System.out,println(任意数据类型)都可以打印输出值,是因为都默认调用该类型的toString方法,Object中存在toString()

3、JDK对Object类的扩展

Onject不仅可是所有类(class声明)的父类,IDK还对Object做了扩展,Object类可以接收所有数据类型(接口,数组,类)

 4、注意Object不能接收8大基本类型

除了8大基本类型之外,所有类型都可以用Object来接收,所有类型都能使用Object来接收。

基本类型和包装类有关。

二、引用数据类型比较用equals方法

 java中引用数据类型之间的相等比较使用equals方法,此时使用“==”是在比较地址值

使用Object类中的equals方法,就是在比较这两个属性的地址

 

 此时想要比较两个student类的属性值是否相等,就需要按照比较规规则重写equals方法

 提问:为什么重写时会用到向下转型?

obj时一个Object类型,但是它指向了Student对象,我们要比较的是Student类中的name和score值是否相等,很显然在Object中就不存在这两个属性,所以就需要向下转型把obj还原成Student类型才可以进行比较。

Person per=new China();

per是指向China对象的Person类型,如果需要用到China独有的属性或者方法,就需要把per还原成China类型。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/863294.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号