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())。

  • 相关阅读:
    SharePoint 2013 图文开发系列之自定义字段
    SharePoint 2013 图文开发系列之Visual Studio 创建母版页
    SharePoint 2013 图文开发系列之代码定义列表
    SharePoint 2013 图文开发系列之计时器任务
    SharePoint 2013 图文开发系列之应用程序页
    SharePoint 2013 图文开发系列之事件接收器
    SharePoint 2013 图文开发系列之可视化WebPart
    SharePoint 2013 图文开发系列之WebPart
    SharePoint 2013 对二进制大型对象(BLOB)进行爬网
    SharePoint 2013 状态机工作流之日常报销示例
  • 原文地址:https://www.cnblogs.com/IdealSpring/p/11871217.html
Copyright © 2011-2022 走看看