day12_2_JavaObject类的常用方法详解

Objcet类

Object是类层次结构的根类

所有类都直接或间接继承自object类

1、构造方法

​ Object类只有一个构造方法,且是无参构造

2、常用方法:

  1. int hashCode():不同对象不同整数,相同对象返回相同整数

  2. public final Class<?> getClass():返回Class类型的对象,获取对象的运行时对象的类

    • 扩展:Class类的String getName():返回当前类的名字
    java 复制代码
    Student stu = new Student();
    // 链式调用
    System.out.println(stu.getClass().getName());
  3. public String toString():返回对象的字符串表示形式,直接输出对象,相当于调用这个对象的toString方法。

    默认返回格式:对象的 class 名称 + @ + hashCode 的十六进制字符串

  4. public boolean equals(Object obj):比较调用这个方法的对象和传入的对象是否相等。

    properties 复制代码
    equals与 == 的区别
    ==:
    ​	基本类型:比较值是否相等
    ​	引用类型:比较的是地址值是否相等
    equals:
    ​	只能比较引用类型,默认情况也是比较地址值是否相等,如果要比较值是否相等的需要重写equals方法。
    自定义的类重写equals方法:
  5. protected void finalize():垃圾回收器回收对象的时候会调用此方法

    java 复制代码
    System.gc(); // 运行垃圾回收器
  6. protected Object clone():创建并返回此对象的**++副本++**

    使用clone:

    1. 实现Cloneable接口(不实现报CloneNotSupportedException异常)
    2. 重写clone方法
    3. 需要抛异常(处理异常)
    4. 向下转型
相关推荐
TAN-90°-17 分钟前
Java 3——getter和setter super()关键字
java·开发语言
wand codemonkey18 分钟前
(二十七)Maven(依赖)【安装】+【项目结构】
java·开发语言·maven
linda公馆20 分钟前
Maven项目报错:java:错误:不支持发行版本 5
java·开发语言·maven
wang3zc22 分钟前
mysql如何提升InnoDB写入性能_对比MyISAM的写入锁机制
jvm·数据库·python
Ulyanov29 分钟前
《从质点到位姿:基于Python与PyVista的导弹制导控制全栈仿真》: 可视化革命——基于 PyVista 的 3D 战场构建与实时渲染
开发语言·python·算法·3d·系统仿真
Heaphaestus,RC33 分钟前
Slate到UMG的封装原理揭秘
开发语言·ue5
学习中.........34 分钟前
常见设计模式
java·设计模式
爱喝热水的呀哈喽40 分钟前
一段即插即用的hypermesh命令行
开发语言·python
Ulyanov1 小时前
《从质点到位姿:基于Python与PyVista的导弹制导控制全栈仿真》: 终极试炼——全链路综合仿真与蒙特卡洛打靶
开发语言·python·系统仿真·雷达电子对抗
敖正炀1 小时前
JDBC 到 ORM:Spring Data JDBC、JPA 与 MyBatis 的定位与选型
java