Java核心类——Object类
2021/4/18 20:55:25
本文主要是介绍Java核心类——Object类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Object类
概述
概念
Object是类层次结构的根类.每个类都使用Object作为超类.所有对象(包括数组)都实现这个类的方法. 随意定义一个类型,不手动显式定义其父类,那么这个类的父类就是Object类. Object类: 是所有类的父类 ,Object类没有父类 是所有类的爸爸
特点
1. Object类型的引用 可以指向任何类的对象 2. Object类中定义的所有的非私有的属性和方法 在所有的类中都拥有使用权 3. 当定义一个类的时候,没有继承任何的类,默认这个类 继承Object 4、Object类如果不是一个类的直接父类,必定是这个类的间接父类
构造方法
语法
Object()
用途
1.创建Object类的对象的方法. 2.子类访问,所有子类都会直接或者间接的访问到这个顶层父类的构造方法.
常用方法
toString()
作用
返回对象的字符串形式
方法实现
输出
getClass().getName() + '@' + Integer.toHexString(hashCode())
过程
(1)getClass().getName() 表示类的完全限定名. (2)hashCode() 表示根据内存地址通过哈希算法生成的哈希码值. (3)Integer.toHexString() 表示无符号十六进制的字符串表示形式.
过程详解
输出内容:getClass().getName() + '@' + Integer.toHexString(hashCode()) (1)getClass.getName(): 作用:获取对象的全类名 1)getClass() 作用:返回此 Object 的运行时类。 获取的是类的字节码对象 ,就是 Class 类的对象,输出结果最前面会带有 class. 对象中存储了 关于 xx类中所有的属性名 、 类名、 包名 、 构造方法名、 构造方法 ..... 例:class com.study.day0416.Student ![](https://www.www.zyiz.net/i/l/?n=20&i=blog/1217155/202104/1217155-20210418202750442-579282359.png) 2)getName() 必须与getClass()连用,不可单独使用 getClass.getName(): 作用:获取对象的全类名、带包结构的类名. 即包名 + 类名组成的字符串(会消除最前方的class) 例: com.study.day0416.Student ![](https://www.www.zyiz.net/i/l/?n=20&i=blog/1217155/202104/1217155-20210418202842197-471873652.png) ![](https://www.www.zyiz.net/i/l/?n=20&i=blog/1217155/202104/1217155-20210418202856654-274750779.png) ![](https://www.www.zyiz.net/i/l/?n=20&i=blog/1217155/202104/1217155-20210418202906826-158010243.png) (2)hashCode() 作用:返回该对象的哈希码值。 哈希值: 将对象的地址进行哈希算法的计算得到的一个整数值 这个值叫做哈希值 hashCode方法的实现不是Java语言实现的 是一个本地方法 ![](https://www.www.zyiz.net/i/l/?n=20&i=blog/1217155/202104/1217155-20210418202926353-1977716534.png) (3)Integer.toHexString(int a) 作用:将一个10进制的整数 转换为16进制的数 ![](https://www.www.zyiz.net/i/l/?n=20&i=blog/1217155/202104/1217155-20210418202937770-757616291.png)
特点
1、在实际开发中一般遵从重写原则 2、直接打印对象的引用,就是打印的是对象调用toString方法后返回的字符串的值。 ![](https://www.www.zyiz.net/i/l/?n=20&i=blog/1217155/202104/1217155-20210418203026122-1598296783.png)
equals()
作用
判断两个对象是否相等
特点
1、在实际开发中重写原则 2、比较两个对象的所有属性/部分属性 是否全部相同 步骤: (1)判断两个引用是否相同 (2)判断obj是否为空 (3)判断两个引用的类型是否相同 (4)向下转型 (5)判断属性是否相同
== 和 equals 方法的区别
简单数据类型 1. == 可以判断两个简单数据类型的值是否相等 2. equals方法不能用于简单数据类型 引用数据类型 1. == 可以判断两个引用中的地址是否相同 2. equals方法在重写之前和 == 一样,重写之后判断的是两个对象的内容属性是否相同
finalize()
作用
当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。
一般语法:
Object的子类可重写此方法
这篇关于Java核心类——Object类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26手写消息中间件:从零开始的指南
- 2024-11-26Java语音识别项目资料:新手入门教程
- 2024-11-26JAVA语音识别项目资料:新手入门教程
- 2024-11-26Java语音识别项目资料:入门与实践指南
- 2024-11-26Java云原生资料入门教程
- 2024-11-26Java云原生资料入门教程
- 2024-11-26Java云原生资料:新手入门教程
- 2024-11-25Java创意资料:新手入门的创意学习指南
- 2024-11-25JAVA对接阿里云智能语音服务资料详解:新手入门指南
- 2024-11-25Java对接阿里云智能语音服务资料详解