`

Object有哪些公用方法

 
阅读更多

Object是所有类的父类,任何类都默认继承Object。Object类到底实现了哪些方法?

1.clone方法

保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。

主要是JAVA里除了8种基本类型传参数是值传递,其他的类对象传参数都是引用传递,我们有时候不希望在方法里讲参数改变,这是就需要在类中复写clone方法。

2.getClass方法

final方法,获得运行时类型。

3.toString方法

该方法用得比较多,一般子类都有覆盖。

4.finalize方法

该方法用于释放资源。因为无法确定该方法什么时候被调用,很少使用。

5.equals方法

该方法是非常重要的一个方法。一般equals和==是不一样的,但是在Object中两者是一样的。子类一般都要重写这个方法。

6.hashCode方法

该方法用于哈希查找,可以减少在查找中使用equals的次数,重写了equals方法一般都要重写hashCode方法。这个方法在一些具有哈希功能的Collection中用到。

一般必须满足obj1.equals(obj2)==true。可以推出obj1.hash- Code()==obj2.hashCode(),但是hashCode相等不一定就满足equals。不过为了提高效率,应该尽量使上面两个条件接近等价。

如果不重写hashcode(),在HashSet中添加两个equals的对象,会将两个对象都加入进去。

7.wait方法

wait方法就是使当前线程等待该对象的锁,当前线程必须是该对象的拥有者,也就是具有该对象的锁。wait()方法一直等待,直到获得锁或者被中断。wait(long timeout)设定一个超时间隔,如果在规定时间内没有获得锁就返回。

调用该方法后当前线程进入睡眠状态,直到以下事件发生。

(1)其他线程调用了该对象的notify方法。

(2)其他线程调用了该对象的notifyAll方法。

(3)其他线程调用了interrupt中断该线程。

(4)时间间隔到了。

此时该线程就可以被调度了,如果是被中断的话就抛出一个InterruptedException异常。

8.notify方法

该方法唤醒在该对象上等待的某个线程。

9.notifyAll方法

该方法唤醒在该对象上等待的所有线程。

分享到:
评论

相关推荐

    Spring+Hibernate实现)Hibernate公用类

    本文将详细解析如何利用Spring和Hibernate来实现一个通用的DAO(Data Access Object)层,以提高代码复用性和项目开发效率。 首先,让我们了解Spring框架。Spring是一个全面的企业级应用开发框架,提供了依赖注入...

    理解JAVASCRIPT中hasOwnProperty()的作用

    如果 object 具有指定名称的属性,那么JavaScript中hasOwnProperty函数方法返回 true;反之则返回 false。此方法无法检查该对象的原型链中是否具有该属性;该属性必须是对象本身的一个成员。在下例中,所有的 String...

    C#数据库操作公用类

    本文将详细解析一个具体的C#数据库操作公用类,该类提供了三个主要方法:`ExecuteReader`、`ExecuteNonQuery`和`ExecuteScalar`,用于分别实现读取数据、执行非查询(如插入、更新或删除)和获取单个值的操作。...

    Windows应用程序公用对话框模块

    通过注册这个控件,开发者可以在Visual Basic、VB.NET、VC++、Delphi等支持ActiveX的开发环境中调用其提供的函数和方法,快速构建具有对话框功能的应用程序。 在Windows应用程序开发中,公用对话框模块提供以下关键...

    cisco公用MIB库

    MIB库中的每个对象都有一个唯一的OID(Object Identifier),类似于对象的地址,使得管理站可以通过OID查询或设置设备状态。 **思科MIB库** 思科公用MIB库包含了大量与思科设备相关的管理对象,这些对象涵盖了...

    js代码-公用方法总结

    在JS中,公用方法(也称为通用方法或实用方法)是那些可以被多个对象或场景复用的函数,它们提高了代码的可重用性和效率。本篇文章将对一些常见的JS公用方法进行总结。 1. **数组方法** - `Array.prototype....

    css日常公用样式与BUG解决方案

    - `object-fit`: 控制图片在容器中的填充方式,如`cover`、`contain`等。 - `image-set`: 针对不同设备分辨率提供不同尺寸的图片,优化加载速度。 10. **伪类和伪元素** - `:hover`, `:active`, `:focus`: 用于...

    各设备厂商采集性能公用MIB(OID)文档_oid文档_cisco_mib_

    MIB文档有助于网络管理员理解设备的管理结构和数据。 **OID(Object Identifier)详解:** OID是一个有序的数字序列,用来唯一地标识MIB树中的每一个节点,也就是网络设备上的一个特定对象。每个OID由若干个数字...

    mysql公用类工具

    ** * mysql数据库的通用操作类 * 主要包括查询结果集并封装成list的形式 * 数据库的插入、更新、... * 查询的时候若字段类型为int型的 在实体类中 需定义成String或者 Object类型的 下面的说明如何调用这个方法的:

    .net公用类库,收藏一下

    .NET 公用类库是微软开发的.NET Framework的重要组成部分,它提供了一系列预定义的类、接口和方法,供开发者在创建应用程序时使用。这些类库极大地简化了编程工作,覆盖了从基本数据类型到网络通信、文件操作、...

    java进阶.docx

    Java 进阶 Java 是一种跨平台的编程语言,具有三大特性:封装、继承和多态。 封装 ...Object 中有多个公用方法,例如 clone、equals、hashCode 等。这些方法可以被子类重写,以实现不同的行为。

    一些公用的javascript函数

    JavaScript有两种主要的作用域:全局作用域和局部作用域。全局变量在整个脚本中都可访问,而局部变量只在其定义的函数或块中有效。 3. **闭包(Closure)** 闭包是指函数可以访问并操作其外部作用域的变量,即使...

    java技巧java中可以用来循环遍历任何一个集合的通用方法

    for (Object obj : c) { System.out.println(obj); } } ``` 这种写法与使用迭代器相比,代码更加简洁明了,但在某些场景下(如需要显式控制循环条件时)可能不如直接使用迭代器灵活。 #### 3. 总结 本文介绍了...

    微信小程序提取公用函数到util.js及使用方法示例

    本文实例讲述了微信小程序提取公用函数到util.js及使用方法。分享给大家供大家参考,具体如下: 在小程序中,定义了一项工具文件utils,此文件的js旨在本文件之内有效,当其他子页面想调用其中的js方法或者变量时,...

    Selenium之Page Object Model 设计理念 ——Common篇

    在我们学习selenium的po模式之前,我们先要了解什么是自动化测试,以及selenium中的八大定位的基本操作,那么接下来,您可以跟我一起走进po模式中的Common篇的编写(公用方法) 引言 Common页的理念: Common页存放...

    Object-C模板项目,基于其上派生实用项目

    Object-C模板项目,基于其上派生实用项目。(CocoaPods管理,并在Podfile文件中已添加部分pods资源) 纯净版工程设置细节 以下步骤已设置完毕,直接使用该工程即可。此处只是简单做下记录。 .gitignore文件添加。 ...

    公用类库包Helper

    FileHelper.cs 文件helper MailHelper.cs 邮件helper ObjectToJson.cs 对象转json SecurityHelper.cs MD5加解密helper VerifyCodeHelper.cs 验证码helper 等等

    浅析hasOwnProperty方法的应用

    JavaScript中hasOwnProperty函数方法是返回一个布尔值,指出一个对象是否具有指定名称的属性。 使用方法:object.hasOwnProperty...在下例中,所有的 String 对象共享一个公用 split 方法。下面的代码将输出 false

    Java数据库操作封装类

    最后,为了支持CRUD(创建、读取、更新、删除)操作,封装类通常会有对应的方法,如`insert(Object entity)`、`update(Object entity)`、`deleteById(Object id)`和`findById(Object id)`。这些方法可能会基于反射...

Global site tag (gtag.js) - Google Analytics