当前位置:首页 > 未命名 > 正文

object类有哪些方法?object类有什么方法

  • 爱豆 爱豆
  • 未命名
  • 更新时间:2024-11-10 11:20
  • 发布时间: 2023-05-25
  • 52
温馨提示:此页面由第三方提供! 修艺网自营维修服务电话:400-966-8255

大家好,今天给各位分享object类有哪些方法的一些知识,其中也会对object类有什么方法进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!

本文目录

  1. java中object类中有哪些方法
  2. JAVA中Object类中 有几个方法
  3. Java语言中Object类定义了哪11种方法

java中object类中有哪些方法

java语言中Object是所有类的父类,任何类都默认继承Object。Object类到底实现了哪些方法?

(1)clone方法

保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。

(2)getClass方法

final方法,获得运行时类型。

(3)toString方法

该方法用得比较多,一般子类都有覆盖。

(4)finalize方法

该方法用于释放资源。因为无法确定该方法什么时候被调用,很少使用。

(5)equals方法

该方法是非常重要的一个方法。一般equals和==是不一样的,但是在Object中两者是一样的。子类一般都要重写这个方法。

(6)hashCode方法

该方法用于哈希查找,重写了equals方法一般都要重写hashCode方法。这个方法在一些具有哈希功能的Collection中用到。

一般必须满足obj1.equals(obj2)==true。可以推出obj1.hash-Code()==obj2.hashCode(),但是hashCode相等不一定就满足equals。不过为了提高效率,应该尽量使上面两个条件接近等价。

(7)wait方法

wait方法就是使当前线程等待该对象的锁,当前线程必须是该对象的拥有者,也就是具有该对象的锁。wait()方法一直等待,直到获得锁或者被中断。wait(longtimeout)设定一个超时间隔,如果在规定时间内没有获得锁就返回。

调用该方法后当前线程进入睡眠状态,直到以下事件发生。

(1)其他线程调用了该对象的notify方法。

(2)其他线程调用了该对象的notifyAll方法。

(3)其他线程调用了interrupt中断该线程。

(4)时间间隔到了。

此时该线程就可以被调度了,如果是被中断的话就抛出一个InterruptedException异常。

(8)notify方法

该方法唤醒在该对象上等待的某个线程。

(9)notifyAll方法

该方法唤醒在该对象上等待的所有线程。

JAVA中Object类中 有几个方法

protectedObjectclone()创建并返回此对象的一个副本。

booleanequals(Objectobj)指示其他某个对象是否与此对象“相等”。

protectedvoidfinalize()当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。

Class<?>getClass()返回此Object的运行时类。

inthashCode()返回该对象的哈希码值。

voidnotify()唤醒在此对象监视器上等待的单个线程。

voidnotifyAll()唤醒在此对象监视器上等待的所有线程。

StringtoString()返回该对象的字符串表示。

voidwait()在其他线程调用此对象的notify()方法或notifyAll()方法前,导致当前线程等待。

voidwait(longtimeout)在其他线程调用此对象的notify()方法或notifyAll()方法,或者超过指定的时间量前,导致当前线程等待。

voidwait(longtimeout,intnanos)在其他线程调用此对象的notify()方法或notifyAll()方法,或者其他某个线程中断当前线程,或者已超过某个实际时间量前,导致当前线程等待。

Java语言中Object类定义了哪11种方法

Java中所有类(包括用户自己定义的类)都自动继承Object类,即Object类是所有类的父类。

Object中常用方法:

publicbooleanequals(Objectobj)

比较当前对象与obj是否为同一对象,返回值:ture/false

publicStringtoString()

返回当前对象的字符串表达形式

publicnativeinthashCode();

返回对象的Hash码。Hash码是标志对象的唯一值,Hash码相同的对象是同一对象

protectedvoidfinalize()throwsThrowable

对象销毁时被调用

以下三个函数用于控制线程

publicfinalnativevoidnotify();publicfinalnativevoidnotifyAll();publicfinalnativevoidwait();

native型方法指由C++语言编写的方法,Java解释器对其进行转义后才执行。

“==”与equals()

"=="一般用于基本数据类型比较。若用作两个引用对象比较,仅当引用变量引用同一个对象时,才返回true,否则false。

voidEqualCompare()

{

Strings1=newString("Hello");

Strings2=newString("Hello");

Strings3="Hello";

Strings4="Hello";

//未使用new,s4引用既存的对象(编译器创建对象之前先进行检测"Hello"是否已经存在,若存在,则返回原对象的引用)

System.out.println(s1.equals(s2));//truex1行

System.out.println(s1==s2);//false两变量引用不同对象

System.out.println(s3.equals(s4));//true两变量引用相同对象

System.out.println(s3==s4);//true两变量引用相同对象

}

比较对象时,一般用equal()方法。

Object类方法定义:publicbooleanequals(Objectobj){return(this==obj);}

不同的类可方便的对该对象进行覆盖。String类就覆盖了Object类的equals()方法,所以x1行输出true.

a==b如果a,b引用同一对象,则返回true;

a.equals(b)如果a对象内容和b对象内容相同,则返回true

如果未重载equals()方法的类对象使用该方法与另一个对象进行比较,则调用Object的equals()方法,仍然是对象的比较,返回值为false。

OK,关于object类有哪些方法和object类有什么方法的内容到此结束了,希望对大家有所帮助。

最新文章