如图所示,Object一共有10种方法:

下面详细描述:

1、public Object() 方法,默认构造函数方法,当新建一个Object对象的时候,调用这个方法向堆区申请一片内存;

2、private static native void registerNatives();方法,该方法是用naive修饰的,表明该方法的实现由c、c++完成,编译成dll文件,由java去调用,实现JAVA的JNI。

3、public final native Class<?> getClass(); 方法,该方法也是用native修饰的,有返回值,返回的是类对象Class类型。

4、public native int hashCode();方法,调用该方法返回该对象的哈希码值

     两个对象相等,那么它们的哈希码值一定相等。

     如果两个对象的哈希码值相等,那么这两个对象不一定相等。

     重写equals() 方法一定要重写 hashCode() 方法。

hashCode() 方法主要是方便集合元素的插入和删除的操作。当一个HashSet中需要新插入一个元素时,由于不允许有重复的元素,如果用equals() 方法去比较,那么效率很低。用hashCode() 方法直接返回该哈希码值,可以通过算法判断是否存在该对象。很大地提升效率。

5、public boolean equals(Object obj) {
        return (this == obj);
    }

     用于比较对象是否相同,一般会重写。

6、protected native Object clone()方法;克隆对象,默认是浅客隆,如果对象的成员变量有对象,需要重写该方法进行深克隆,需要实现Cloneable才能调用clone方法,不然会抛出异常。

7、public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }

将对象转换为可读的字符串,一般需要重写。

8、public final native void notify();唤醒阻塞队列中的一个线程。

public final native void notifyAll();唤醒阻塞队列中的所有线程。

9、public final native void wait(long timeout);//精确到毫秒

      public final void wait(long timeout, int nanos);//精确到纳秒

      public final void wait();阻塞线程。

10、protected void finalize(); 一般不建议使用该方法,虚拟机会自动清理对象,或者用try{}finally{}去释放资源。

Object的公用方法们的更多相关文章

  1. Object有哪些公用方法?

    protected Object clone() 创建并返回此对象的一个副本.public boolean equals(Object obj) 指示其他某个对象是否与此对象"相等" ...

  2. DbHelperSQL 判断数据库表结构公用方法

    #region 公用方法        /// <summary>        /// 判断是否存在某表的某个字段        /// </summary>        ...

  3. java基本类型和包装类型的区别以及object的公共方法

    Java的类型分为两部分,一个是基本类型(primitive),如int.double等八种基本数据类型: 一.基本数据类型: byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节 ...

  4. axios源码入口以及公用方法

    axios学习笔记(公用方法) 源码地址 找到入口文件 axios/lib/axios.js var utils = require('./utils'); var bind = require('. ...

  5. 理解JAVA - 面向对象(object) - 属性,方法

    理解JAVA - 面向对象(object) - 属性,方法 多态的体现:    向上造型,父类接收子类对象:向上造型:    从父类角度看不到子类独有的方法:面向对象,人类认知世界的方式:生活中每天都 ...

  6. 利用Object.prototype.toString方法,实现比typeof更准确的type校验

    Object.prototype.toString方法返回对象的类型字符串,因此可以用来判断一个值的类型. 调用方法: Object.prototype.toString.call(value) 不同 ...

  7. Object类clone方法的自我理解

    网上搜帖: clone()是java.lang.Object类的protected方法,实现clone方法: 1)类自身需要实现Cloneable接口 2)需重写clone()方法,最好设置修饰符mo ...

  8. Cloneable接口和Object的clone()方法

    为什么要克隆 为什么要使用克隆,这其实反映的是一个很现实的问题,假如我们有一个对象: public class SimpleObject implements Cloneable { private ...

  9. JavaScript:Object.prototype.toString方法的原理

    在JavaScript中,想要判断某个对象值属于哪种内置类型,最靠谱的做法就是通过Object.prototype.toString方法. var arr = []; console.log(Obje ...

随机推荐

  1. pyHeatMap生成热力图

    库链接:https://pypi.org/project/pyheatmap/ 现在的linux系统默认都是安装好的py环境,直接用pip进行热力库安装 pip install pyheatmap 或 ...

  2. CMD (sea.js)模块定义规范

    转自http://www.cnblogs.com/hongchenok/p/3685677.html   CMD 模块定义规范 在 Sea.js 中,所有 JavaScript 模块都遵循 CMD(C ...

  3. vmware 虚拟机下安装centOS7.0

    当时安装的是 CentOS-7.0-1406-x86_64-DVD.iso 这个版本的镜像,提示: 您已经配置此虚拟机使用64位客户操作系统.但是64位操作系统不可用.此主机具有虚拟化支持能力的,可是 ...

  4. BZOJ Lydsy5月月赛 ADG题解

    题目链接 BZOJ5月月赛 题解 好弱啊QAQ只写出三题 A 判断多干个数乘积是否是某个数的倍数有很多方法,比较常用的是取模,但这里并不适用,因为模数不定 会发现数都比较小,所以我们可以考虑分解质因子 ...

  5. Python3简单入门

    在Mac和Linux上运行Python时,请打开终端,然后运行python3 Mac OSX 正确地同时安装Python 2.7 和Python3:  http://www.jianshu.com/p ...

  6. Intervals ZOJ - 3953 (区间贪心)

    Chiaki has n intervals and the i-th of them is [li, ri]. She wants to delete some intervals so that ...

  7. google 浏览器的调试模式

    1.电脑模式: 而在手机模式下的调试是:

  8. 三大linux系统对比

    概述: centos作为服务器部署是第一选择.CentOS去除很多与服务器功能无关的应用,系统简单但非常稳定,命令行操作可以方便管理系统和应用,丰富的帮助文档和社区的支持. ubuntu最佳的应用领域 ...

  9. 【题解】Huge Mods UVa 10692 欧拉定理

    题意:计算a1^( a2^( a3^( a4^( a5^(...) ) ) ) ) % m的值,输入a数组和m,不保证m是质数,不保证互质 裸的欧拉定理题目,考的就一个公式 a^b = a^( b % ...

  10. bzoj 2457 [BeiJing2011]双端队列 模拟+贪心

    [BeiJing2011]双端队列 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 457  Solved: 203[Submit][Status][D ...