zoukankan      html  css  js  c++  java
  • Object的公用方法们

    如图所示,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{}去释放资源。

  • 相关阅读:
    selenium 下载百度音乐并验证
    selenium web driver 实现截图功能
    selenium web driver 使用JS修改input属性
    .net测试学习--理解.net测试选项
    试水STF(smartphone test farm)
    The difference between QA, QC, and Test Engineering
    selenium 3.0 beta2 初体验
    Gson解析纯Json数组
    Android带图片的Toast(自定义Toast)
    Android issues
  • 原文地址:https://www.cnblogs.com/fankongkong/p/5527139.html
Copyright © 2011-2022 走看看