zoukankan      html  css  js  c++  java
  • 1.Java.lang包之Object类

    Object类是Java中其他所有类的祖先,没有Object类Java面向对象无从谈起。作为其他所有类的基类,Object具有哪些属性和行为,是Java语言设计背后的思维体现。

    Object类没有定义属性,一共有13个方法,具体的类定义结构如下图:

    1.private static native void registerNatives()

            registerNatives函数前面有native关键字修饰,Java中,用native关键字修饰的函数表明该方法的实现并不是在Java中去完成,而是由C/C++去完成,并被编译成了.dll,由Java去调用。方法的具体实现体在dll文件中,对于不同平台,其具体实现应该有所不同。用native修饰,即表示操作系统,需要提供此方法,Java本身需要使用。具体到registerNatives()方法本身,其主要作用是将C/C++中的方法映射到Java中的native方法,实现方法命名的解耦。

    2.public final native Class<?> getClass()

            getClass函数前面有native关键字修饰,Java中,用native关键字修饰的函数表明该方法的实现并不是在Java中去完成,而是由C/C++去完成,并被编译成了.dll,由Java去调用。返回这个运行类。

    3.public native int hashCode()

            getClass函数前面有native关键字修饰,Java中,用native关键字修饰的函数表明该方法的实现并不是在Java中去完成,而是由C/C++去完成,并被编译成了.dll,由Java去调用。返回这个类的哈希码。实际上,由 Object 类定义的 hashCode 方法确实会针对不同的对象返回不同的整数。(这一般是通过将该对象的内部地址转换成一个整数来实现的,但是 JavaTM 编程语言不需要这种实现技巧。)

    4.public boolean equals(Object obj)

            指示其他某个对象是否与此对象“相等”。默认比较地址是非相等。建议所有方法中都要重写此方法。

            每个类,在内存中的字节码是一样的,每个对象是类的实例。

    5.protected native Object clone()

          clone函数前面有native关键字修饰,Java中,用native关键字修饰的函数表明该方法的实现并不是在Java中去完成,而是由C/C++去完成,并被编译成了.dll,由Java去调用。创建并返回次对象副本。

          clone函数属于浅度克隆,如Student对象想要在其他类中被克隆,其必须实现Cloneable接口(内无实现方法,属于标记接口)并重写Objec类的clone方法(否者在其他类中无法调用clone方法)。

    6.public String toString()

            返回该对象的字符串表示。getClass().getName() + "@" + Integer.toHexString(hashCode())。

  • 相关阅读:
    Numpy技巧
    Date
    Soulwail
    吴裕雄--天生自然python学习笔记:python 用 Open CV抓取脸部图形及保存
    吴裕雄--天生自然python学习笔记:python 用 Open CV 进行人脸识别
    吴裕雄--天生自然python学习笔记:人脸识别用到的特征文件haarcascade_frontalface_default.xml下载
    吴裕雄--天生自然python学习笔记:python OpenCV 基本绘图
    吴裕雄--天生自然python学习笔记:python用OpenCV 读取和显示图形
    吴裕雄--天生自然python学习笔记:python下载安装各种模块的whl文件网址
    吴裕雄--天生自然python学习笔记:python爬虫PM2.5 实时监测显示器
  • 原文地址:https://www.cnblogs.com/IdealSpring/p/11871217.html
Copyright © 2011-2022 走看看