Java Object类

Java在java.lang包中有一个Object类。所有Java类都直接或间接扩展Object类。所有Java类都是Object类的子类,Object类是所有类的超类。
Object类本身没有超类。Object类的引用变量可以保存任何类的对象的引用。
以下代码声明对象类型的引用变量obj

Object obj;

Object类有九个方法,可以在Java中的所有类中使用。有关 Object类的所有方法及描述 -

方法名称 描述
public String toString() 它已经在Object类中实现了,也可以自定义它。它返回对象的字符串表示形式。通常,它用于调试目的。
public boolean equals(Object obj) 它已经在Object类中实现,可以自定义它,它用于比较两个对象的相等性。
public int hashCode() 它已经在Object类中实现,可以自定义它。它返回对象的哈希码(整数)值。
protected Object clone() throws CloneNotSupportedException 它不在Object类中实现,可以通过覆盖克隆方法来自定义它。它用于创建对象的副本。
protected void finalize() throws Throwable 它不是在Object类中实现的,可以自定义它。它在对象被销毁之前被垃圾收集器调用。
public final Class getClass() 它在Object类中实现,不能自定义它。它返回对对象的Class对象的引用。
public final void notify() 它在Object类中实现,不能自定义它。此方法通知对象的等待队列中的一个线程。
public final void notifyAll() 它在Object类中实现,不能自定义它。此方法通知对象的等待队列中的所有线程。
public final void wait() throws InterruptedException ; public final void wait(long timeout) throws InterruptedException ; public final void wait (long timeout, int nanos) throws InterruptedException 它在Object类中实现,不能自定义它。使对象的等待队列中的线程等待不管是否超时。

示例

以下代码显示如何重新实现Object类的toString()方法。

public class Test   {
    public String toString()  {
        return "Here  is a  string";
    }
}

Object类是什么?

Java中的每个对象都属于一个类。Object类的getClass()方法返回Class对象的引用。
以下代码显示了如何获取Cat对象的Class对象的引用:

Cat  c  = new Cat();
Class catClass  = c.getClass();

Class类是通用的,其形式类型参数是由其对象表示类的名称。

可以使用泛型重写上面的语句。如下语句所示 -

Class<Cat>   catClass = c.getClass();

上一篇:Java初始化块

下一篇:Java哈希编码

关注微信小程序
程序员编程王-随时随地学编程

扫描二维码
程序员编程王

扫一扫关注最新编程教程