Object的常用方法

目录

1.getClass():获得运行时类型

2.hashCode():获取哈希值

3.equals():比较方法  

4.clone():实现对象的浅拷贝方法  

5.toString():输出为String

6.notify():唤醒线程

7.notifyAll():唤醒所有线程

8.wait():使线程等待

9.finalize():垃圾回收方法


1.getClass():获得运行时类型

        常用于反射  

2.hashCode():获取哈希值

当子类重写时通常需要同时重写hashCode()和equals()方法,因为equals的则二者的hashCode一定相同 

3.equals():比较方法  

基本数据类型:判断值是否相同

引用数据类型:判断地址值是否相同
 

4.clone():实现对象的浅拷贝方法  

只有实现Cloneable接口才能调用,否则抛出异常
 

5.toString():输出为String

6.notify():唤醒线程

能够唤醒某个被wait()的线程

7.notifyAll():唤醒所有线程

能够唤醒所有被wait()的线程

8.wait():使线程等待

能够使当前线程等待该对象的锁,然后进入睡眠状态,直到被notify()或者notifyAll()方法调用

9.finalize():垃圾回收方法

垃圾回收方法,一般不会自己调用

源码:

public class Object {private static native void registerNatives();static {registerNatives();}//获得运行时类型public final native Class<?> getClass();//获取哈希值public native int hashCode();//和 == 一样的比较方法public boolean equals(Object obj) {return (this == obj);}//实现对象的浅拷贝方法protected native Object clone() throws CloneNotSupportedException;//输出为Stringpublic String toString() {return getClass().getName() + "@" + Integer.toHexString(hashCode());}//唤醒线程public final native void notify();//唤醒线程public final native void notifyAll();//使得当前线程等待对象锁public final native void wait(long timeout) throws InterruptedException;public final void wait(long timeout, int nanos) throws InterruptedException {if (timeout < 0) {throw new IllegalArgumentException("timeout value is negative");}if (nanos < 0 || nanos > 999999) {throw new IllegalArgumentException("nanosecond timeout value out of range");}if (nanos > 0) {timeout++;}wait(timeout);}public final void wait() throws InterruptedException {wait(0);}//垃圾回收方法protected void finalize() throws Throwable { }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/78198.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MVSNet CVPR-2018 学习总结笔记 译文 深度学习三维重建

文章目录 2 MVSNet CVPR-20182.0 主要特点2.1 过程2.2 MVSNet主要贡献2.3 论文简介2.3.1 深度特征提取2.3.2 构造匹配代价2.3.3 代价累计2.3.4 深度估计2.3.5 深度图优化2.4 MVSNet(pytorch版本)2 MVSNet CVPR-2018 MVSNet (pytorch版) 代码注释版 下载 (注释非常详细,代码…

IO流(IO Stream)

​ 一、概述 我们已经系统学习了File 类&#xff0c;并且已经知道 File 类的实例用于表示文件或目录的路径 名。 虽然我们可以通过 File 实例来访问文件或目录的元数据&#xff0c;甚至可以创建、删除文件或目 录&#xff0c;但是&#xff0c;我们却不能通过File实例来访问文…

春秋云镜 CVE-2015-1427

春秋云镜 CVE-2015-1427 ElasticSearch RCE 靶标介绍 ElasticSearch RCE 启动场景 漏洞利用 因查询时至少要求es中有一条数据&#xff0c;所以发送如下数据包&#xff0c;增加一个数据&#xff1a; POST /website/blog/ HTTP/1.1 Host: eci-2zedttamjkr80i9iubel.cloudeci…

Java基础11——抽象类和接口

Java基础11——抽象类和接口 抽象类和抽象方法 区分普通方法和抽象方法 在Java 中&#xff0c;当一个类被 abstract 关键字修饰的时候这个类称为抽象类。当一个类的方法被 abstract 关键字修饰的时候&#xff0c;该方法称为抽象 方法。抽象方法必须定义在抽象类中。当一个方…

leetcode 1921. 消灭怪物的最大数量(每日一题)

最近学习的状态找回很多。慢慢来吧&#xff0c;加油&#xff01; 1921. 消灭怪物的最大数量 你正在玩一款电子游戏&#xff0c;在游戏中你需要保护城市免受怪物侵袭。给你一个 下标从 0 开始 且长度为 n 的整数数组 dist &#xff0c;其中 dist[i] 是第 i 个怪物与城市的 初始…

Linux安装MySQL8.0

又又又又..Linux装MySQL。 删除原有的MySQL 查看安装的mysql信息&#xff1a;rpm -qa|grep -i mysql 删除mysql相关服务&#xff1a;rpm -e --nodeps 查询mysql遗留文件和依赖信息&#xff1a;find / -name mysql 手动删除mysql配置文件&#xff1a;rm -rf /etc/my.cnf 相关…

MySQL锁

MySQL锁 事务事务的隔离级别脏读&#xff0c;不可重复读&#xff0c;幻读 表锁与行锁表锁测试准备测试 行锁测试 读锁与写锁读锁&#xff08;共享锁&#xff09;测试 写锁&#xff08;排他锁&#xff09;测试 元数据锁表级元数据锁表级MDL**&#xff08;Metadata Lock&#xff…

十大排序算法及Java中的排序算法

文章目录 一、简介二、时间复杂度三、非线性时间比较类排序冒泡排序&#xff08;Bubble Sort&#xff09;排序过程代码实现步骤拆解演示复杂度 选择排序&#xff08;Selection Sort&#xff09;排序过程代码实现步骤拆解演示复杂度 插入排序&#xff08;Insertion Sort&#xf…

Ei Scopus检索 | 2024年第三届能源与环境工程国际会议(CFEEE 2024)

会议简介 Brief Introduction 2024年第三届能源与环境工程国际会议(CFEEE 2024) 会议时间&#xff1a;2024年9月1日-3日 召开地点&#xff1a;新西兰奥克兰 大会官网&#xff1a;https://www.cfeee.org/ 2024年第三届能源与环境工程国际会议(CFEEE 2024) 将于2024年12月12日至1…

Struts.xml 配置文件说明

<?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <!--…

【Linux常用命令】

一、防火墙相关 1、查看防火墙状态 systemctl status flrewalld2、如果防火墙是开启状态的&#xff0c;需要关闭 systemctl stop firewalld3、永久行关闭操作&#xff08;禁止开机自启动&#xff09; 因为防火默认是开启状态的&#xff0c;如果只是手动关闭&#xff0c;先次…

elasticsearch集群部署-实操

elasticsearch&#xff08;集群&#xff09; 案例版本&#xff1a;elasticsearch 8.6.2 操作系统&#xff1a;CentOS 7 注意&#xff1a;全程使用普通用户操作。 0、节点信息 节点描述192.168.127.10master192.168.127.11slave…slave02 1、环境配置 1.1 修改文件 /etc/se…

中国大学MOOC地下水污染与防治答案

本文转载自 众课帮 众工号 1、下列哪项不属于有机污染物综合指标&#xff08; &#xff09; A、高锰酸盐指数 B、化学需氧量&#xff08;COD&#xff09; C、浊度 D、总有机碳&#xff08;TOC&#xff09; 答案&#xff1a;浊度 2、饮用水水质指标常说的“两虫”是指( ) A、贾…

【Java】抽奖系统———保姆学习教程

目录 一、抽奖系统介绍 二、代码实现 1、随机生成中奖号码 1.1、中奖号码createNumber方法 1.2、控制判断contains方法 2、用户输入中奖号码 3、判断中奖情况 3.1、判断奖项isWin方法 三、完整代码 一、抽奖系统介绍 抽奖的号码由6个红色球号码和1个蓝色球号码组成。红色…

第24节——react hooks组件传值 - 父子组件之间的传值

一、概念 一句话概括&#xff0c;react hook 父子组件之间通过props进行传值 二、父传子 父组件&#xff1a;在子组件标签上定义属性 子组件&#xff1a;函数组件接收一个props是一个对象&#xff0c;父组件传的属性名就是props对象的key&#xff0c;属性的值就是对应的val…

python实现Flask GET Demo

python代码 from flask import Flask, request, jsonifyapp Flask(__name__)#用/data路径路由 app.route(/data) def get_data():## 以下一行是从URL中获取参数的get方法data request.args.get(data)return jsonify(data data,info "success !",code "200…

十五、垃圾回收相关算法

目录 一、标记阶段&#xff1a;引用计算法对象存活判断引用计算法 二、标记阶段&#xff1a;可达性分析算法三、对象的finalization机制四、MAT和Jprofiler的GC Toots的溯源五、垃圾清除算法之标记-清除算法六、垃圾清除算法之复制算法七、垃圾清除算法之标记-压缩算法八、小结…

智慧园区:AI边缘计算技术与视频监控汇聚平台打造智慧园区解决方案

一、行业趋势与背景 智慧园区是现代城市发展的重要组成部分&#xff0c;通过智能化技术提高园区的运营效率、降低成本、增强环境可持续性等具有重要作用。在智慧园区中&#xff0c;人工智能和视频汇聚技术是重要的前置技术。人工智能技术可以实现对数据的智能化处理和分析&…

时序数据库 TimescaleDB 安装与使用

TimescaleDB 是一个时间序列数据库&#xff0c;建立在 PostgreSQL 之上。然而&#xff0c;不仅如此&#xff0c;它还是时间序列的关系数据库。使用 TimescaleDB 的开发人员将受益于专门构建的时间序列数据库以及经典的关系数据库 (PostgreSQL)&#xff0c;所有这些都具有完整的…

2023/9/13 -- C++/QT

作业&#xff1a; 1> 将之前定义的栈类和队列类都实现成模板类 栈&#xff1a; #include <iostream> #define MAX 40 using namespace std;template <typename T> class Stack{ private:T *data;int top; public:Stack();~Stack();Stack(const Stack &ot…