Java中的Object 类的常见方法
public class Object
每个类都使用Object作为超类,所有对象(包括数组)都实现这个类的方法。
Object类中的方法:
package java.lang;public class Object {private static native void registerNatives();static {registerNatives();}/*** native方法,用于返回当前运行时对象的Class对象,使用了final关键字修饰,故不允许子类重写。*/public final native Class<?> getClass();/*** native方法,用于返回对象的哈希码,主要使用在哈希表中,比如JDK中的HashMap。*/public native int hashCode();/*** 用于比较2个对象的内存地址是否相等,String类对该方法进行了重写用户比较字符串的值是否相等。*/public boolean equals(Object obj) {return (this == obj);}/*** naitive方法,用于创建并返回当前对象的一份拷贝。* 一般情况下,对于任何对象 x,表达式 x.clone() != x 为true,x.clone().getClass() == x.getClass() 为true。* Object本身没有实现Cloneable接口,所以不重写clone方法并且进行调用的话会发生CloneNotSupportedException异常*/protected native Object clone() throws CloneNotSupportedException;/*** 返回类的名字@实例的哈希码的16进制的字符串。建议Object所有的子类都重写这个方法。*/public String toString() {return getClass().getName() + "@" + Integer.toHexString(hashCode());}/*** native方法,并且不能重写。* 唤醒一个在此对象监视器上等待的线程(监视器相当于就是锁的概念)。* 如果有多个线程在等待只会任意唤醒一个*/public final native void notify();/*** native方法,并且不能重写。* 跟notify一样,唯一的区别就是会唤醒在此对象监视器上等待的所有线程,而不是一个线程*/public final native void notifyAll();/*** native方法,并且不能重写。暂停线程的执行。* 注意:sleep方法没有释放锁,而wait方法释放了锁 。timeout是等待时间*/public final native void wait(long timeout) throws InterruptedException;/*** 多了nanos参数,这个参数表示额外时间(以毫微秒为单位,范围是 0-999999)。 * 所以超时的时间还需要加上nanos毫秒*/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);}/*** 跟之前的2个wait方法一样,只不过该方法一直等待,没有超时时间这个概念*/public final void wait() throws InterruptedException {wait(0);}/*** 实例被垃圾回收器回收的时候触发的操作*/protected void finalize() throws Throwable { }
}
Java中的Object 类的常见方法相关推荐
- Java中的Object类的toString()方法,equals()方法
Object类是所有类的父类,若没有明确使用extends关键字明确表示该类继承哪个类,那么它就默认继承Object类,也就可以使用Object中的方法: 1.toString 如果输出一个对象的时候 ...
- java面试题 Object类的常见方法总结
/** native方法,用于返回当前运行时对象的Class对象,使用了final关键字修饰,故不允许子类重写. */ public final native Class<?> getCl ...
- Java中的Object类和Class类
Copyright©Stonee 在Java中,无论是类还是接口,它们在JVM的内存逻辑模型中都会存在Super和Class指针,分别指向根类(Object类)和反射类(Class类) 在这一篇blo ...
- Java中的Object类 是什么?JSONObject 又是什么?
背景 有时候我们在定义数据结构的时候,比如List,HashMap等等,因为我们不知道提前装在里面的是什么,所以我们可以先定义它为Object的数据类型,形如控制器的代码如下,那什么是Object类, ...
- Java中的Object类
文章目录 一. Object类简介 二. Object类的常用方法 toString方法 equals方法 其他相关方法详解 一. Object类简介 Object类是Javajava.lang包下的 ...
- object 构造器java_“java”中为什么“Object”类要有一个空的构造函数?
展开全部 其他的类之所以可以不用给他写无参的构造函数(方法),就是因为这些类继承了Object类,e68a84e8a2ad323131333532363134313032313635333133336 ...
- java 对象重写equals方法_Java如何重写object类的equals方法详解
1.Object类的equals()方法: 比较两个对象是否是同一个对象,equals() 方法比较两个对象,是判断两个对象引用指向的是同一个对象,即比较 2 个对象的内存地址是否相等.是则返回tru ...
- 《Java 核心技术卷1 第10版》学习笔记------Object类的 equals 方法
Object 简述 Object 类是 Java 中所有类的始祖, 在 Java 中每个类都是由它扩展而来的. 在 Java 中, 只有基本类型 ( primitive types) 不是对象, 例如 ...
- Java Object类的各个方法
Java中所有的类都继承自java.lang.Object类,Object类中一共有11个方法: public final native Class<?> getClass();publi ...
- java中intvalue_Java Byte类intValue()方法的示例
java中intvalue 字节类intValue()方法 (Byte class intValue() method) intValue() method is available in java. ...
最新文章
- servlet对mysql数据库的数据增删改
- Python3-面向对象编程
- Apache ZooKeeper - 使用源码启动ZK集群模式
- 与姬十三探讨如何42天搞定2500万美金投资,创业秘密都在这里
- python 声明变量类型_python基础学习03数据类型和变量
- [转]ubuntu系统中遇到的一些问题及解决
- 大话数据结构 :排序
- iis 附件上传有点慢_短视频悄悄上线!“一起培训”的这个新功能有点潮
- pytorch图像预处理
- 页面加载时序问题----BUG分析
- 数据结构学习笔记(二) 线性表的顺序存储和链式存储
- 蓝桥杯C语言基础题---01字串
- 模拟器计算机内存不足,网易mumu模拟器
- 芯片破解、解密方法介绍
- iOS客户端如何测试推送
- 黑吃黑第四季/全集Banshee迅雷下载
- 如何将图片压缩到15k以下?教你一键压缩图片的大小
- 过独木桥洛谷1007
- 美国计算机游戏设计专业排名,2018美国游戏设计留学院校排名
- 电脑使用隔离卡,如何实时同步内外网数据?