Java 的Object类

Object类是所有引用类型的祖先类,位于java.lang包中。java.lang包含有Java最基础和核心的类,在编译时会自动导入。

Object含有的方法如下:

Java规定:在类定义过程中,对于未定义构造函数的类,默认会有一个无参数的构造函数,Object也是如此。

1.registerNatives()

//主要作用是将C/C++中的方法映射到Java中的native方法,实现方法命名的解耦。 
private static native void registerNatives();
    static {
        registerNatives();
    }

 native关键字:用native关键字修饰的函数表明该方法的实现并不是在Java中去完成,而是由C/C++去完成,并被编译成了.dll,由Java去调用。

2.getClass()方法

返回的是此Object对象的类对象/运行时类对象Class<?>。效果与Object.class相同。

不能被重写。


public final native Class<?> getClass();

"类对象"概念:在Java中,是对具有一组相同特征或行为的实例的抽象并进行描述,对象则是此类所描述的特征或行为的具体实例。作为概念层次的类,其本身也具有某些共同的特性,如都具有类名称、由类加载器去加载,都具有包,具有父类,属性和方法等。于是,Java中有专门定义了一个类(Class),去描述其他类所具有的这些特性,因此,从此角度去看,类本身也都是属于Class类的对象。为与经常意义上的对象相区分,在此称之为"类对象"。

2.clone()方法

(1)也是native方法,并不是在java中实现
(2)clone函数返回的是一个引用,指向的是新的clone出来的对象,新克隆出来的对象与原对象分别占用不同的堆空间。 

(3)clone出来的对象的改变不影响原来对象,原来对象的改变也不影响clone出来的对象。

 protected native Object clone() throws CloneNotSupportedException;

3.equals()方法

判断两个对象是否相等,子类中一般要重写该方法。

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

 

4.hashCode()

返回对象的哈希码值。hashCode()方法主要用于增强哈希表的性能。

 public native int hashCode();

5.toString()方法

getClass()返回对象的类对象,getClassName()以String形式返回类对象的名称(含包名)。Integer.toHexString(hashCode())则是以对象的哈希码为实参,以16进制无符号整数形式返回此哈希码的字符串表示形式。

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

例子: 

 Student student=new Student(1,"nana",20,99);
        System.out.println(student);

6.未完

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值