如图所示,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. Ajax在jQuery中的应用($.ajax()方法)

    Ajax() 方法 $.ajax() 中的参数及使用方法 在jQuery中,$.ajax() 是最底层的方法,也是功能最强的方法.$.get().$.post().$.getScript().getJ ...

  2. MATLAB中mat2gray的用法【转】

    函数简介 函数功能:实现图像矩阵的归一化操作.所谓"归一化"就是使矩阵的每个元素的值都在0和1之间.该函数在数字图像处理中经常用到. 调用格式: I = mat2gray(A, [ ...

  3. BZOJ 2337 XOR和路径(概率DP)

    求点1到点n经过的路径权值异或和的期望. 考虑按位计算,对于每一位来说,令dp[i]表示从i到n的异或和期望值. 那么dp[i]=sum(dp[j]+1-dp[k]).如果w(i,j)这一位为0,如果 ...

  4. FZU 1492 地震预测(链表)

    实际上把数组排序一遍加入链表中,再记录好数组原来的数在链表中的位置.我们只需要维护链表的删除操作就可以了. # include <cstdio> # include <cstring ...

  5. 【bzoj1712】[Usaco2007 China]Summing Sums 加密 矩阵乘法

    题目描述 那N只可爱的奶牛刚刚学习了有关密码的许多算法,终于,她们创造出了属于奶牛的加密方法.由于她们并不是经验十足,她们的加密方法非常简单:第i只奶牛掌握着密码的第i个数字,起始的时候是Ci(0≤C ...

  6. HTML5 Web SQL 数据库总结

    Web SQL 数据库 API 并不是 HTML5 规范的一部分,但是它是一个独立的规范,引入了一组使用 SQL 操作客户端数据库的 APIs. 如果你是一个 Web 后端程序员,应该很容易理解 SQ ...

  7. hdu 1596 find the safest road (最短路径)

    find the safest road Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  8. BZOJ3922 Karin的弹幕 【线段树】

    题目链接 BZOJ3922 题解 考虑暴力,修改\(O(1)\),查询\(O(\frac{n}{d})\) 考虑线段树,如果对每种差值建一棵线段树,修改\(O(nlogn)\),查询\(O(logn) ...

  9. POJ. 1005 I Think I Need a Houseboat(水 )

    POJ. 1005 I Think I Need a Houseboat(水 ) 代码总览 #include <cstdio> #include <cstring> #incl ...

  10. bzoj1706: [Usaco2007 Nov]relays 奶牛接力跑 (Floyd+新姿势)

    题目大意:有t(t<=100)条无向边连接两点,求s到e刚好经过n(n<=10^7)条路径的最小距离. 第一反应分层图,但是一看n就懵逼了,不会写.看了题解之后才知道可以这么玩... 首先 ...