JAVA中Object类中 有几个方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA中Object类中 有几个方法相关的知识,希望对你有一定的参考价值。

Object类有几个方法 getclass()方法有什么作用 如何能比较好的理解他们

protected Object clone()创建并返回此对象的一个副本。
boolean equals(Object obj)指示其他某个对象是否与此对象“相等”。
protected void finalize()当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。
Class<?> getClass()返回此 Object 的运行时类。
int hashCode()返回该对象的哈希码值。
void notify()唤醒在此对象监视器上等待的单个线程。
void notifyAll()唤醒在此对象监视器上等待的所有线程。
String toString()返回该对象的字符串表示。
void wait()在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当前线程等待。
void wait(long timeout)在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者超过指定的时间量前,导致当前线程等待。
void wait(long timeout, int nanos)在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者其他某个线程中断当前线程,或者已超过某个实际时间量前,导致当前线程等待。
参考技术A 1.所有方法:
1. getClass()

2. hashCode()
3. equals()
4. toString()
5. clone()
6. wait()...
7. notify()
8. notifyAll()
9. finalize()

2. 各个方法作用:

方法摘要
protected Object clone() 创建并返回此对象的一个副本。
boolean equals(Object obj) 指示某个其他对象是否与此对象“相等”。
protected void finalize() 当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。
Class<? extendsObject> getClass() 返回一个对象的运行时类。
int hashCode() 返回该对象的哈希码值。
void notify() 唤醒在此对象监视器上等待的单个线程。
void notifyAll() 唤醒在此对象监视器上等待的所有线程。
String toString() 返回该对象的字符串表示。
void wait() 导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法。
void wait(long timeout) 导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者超过指定的时间量。
void wait(long timeout, int nanos) 导致当前的线程等待,直到其他线程调用此对象的 notify()
参考技术B Java中Object类Java基础Java中所有类(包括用户自己定义的类)都自动继承Object类,即Object类是所有类的父类。Object中常用方法:public boolean equals(Object obj)比较当前对象与obj是否为同一对象,返回值:ture/falsepublic String toString()返回当前对象的字符串表达形式public native int hashCode();返回对象的Hash码。Hash码是标志对象的唯一值,Hash码相同的对象是同一对象protected void finalize()throws Throwable对象销毁时被调用以下三个函数用于控制线程public final native void notify();public final native void notifyAll();public final native void wait();native型方法指由C++语言编写的方法,Java解释器对其进行转义后才执行。“==”与equals()"==" 一般用于基本数据类型比较。若用作两个引用对象比较,仅当引用变量引用同一个对象时,才返回true,否则false。 void EqualCompare()

String s1 = new String("Hello");
String s2 = new String("Hello");
String s3 = "Hello";
String s4 = "Hello"; //未使用new,s4引用既存的对象(编译器创建对象之前先进行检测"Hello"是否已经存在,若存在,则返回原对象的引用)
System.out.println(s1.equals(s2)); // true x1行
System.out.println(s1 ==s2); // false 两变量引用不同对象
System.out.println(s3.equals(s4)); //true 两变量引用相同对象
System.out.println(s3 ==s4); // true 两变量引用相同对象
比较对象时,一般用equal()方法。Object类方法定义:public boolean equals(Object obj) return (this == obj);不同的类可方便的对该对象进行覆盖。String类就覆盖了Object类的equals()方法,所以x1行输出true.a==b 如果a,b引用同一对象,则返回true;a.equals(b) 如果a对象内容和b对象内容相同,则返回true如果未重载equals()方法的类对象使用该方法与另一个对象进行比较,则调用Object的equals()方法,仍然是对象的比较,返回值为false。
参考技术C protected Object clone()
创建并返回此对象的一个副本。
boolean equals(Object obj)
指示某个其他对象是否与此对象“相等”。
protected void finalize()
当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。
Class getClass()
返回一个对象的运行时类。
int hashCode()
返回该对象的哈希码值。
void notify()
唤醒在此对象监视器上等待的单个线程。
void notifyAll()
唤醒在此对象监视器上等待的所有线程。
String toString()
返回该对象的字符串表示。
void wait()
导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法。
void wait(long timeout)
导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者超过指定的时间量。
void wait(long timeout, int nanos)
导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者其他某个线程中断当前线程,或者已超过某个实际时间量。
-------------------------------------------------------------------------------------------------
Object所有的方法.所有java类都带有这些方法

--------------------------------------------------
getClass
public final Class getClass()返回一个对象的运行时类。该 Class 对象是由所表示类的 static synchronized 方法锁定的对象。

返回:
表示该对象的运行时类的 java.lang.Class 对象。此结果属于类型 Class,其中 X 表示清除表达式中的静态类型,该表达式调用 getClass。
参考技术D 构造方法摘要Object()
方法摘要protected Objectclone()
创建并返回此对象的一个副本。 booleanequals(Object obj)
指示其他某个对象是否与此对象“相等”。protected voidfinalize()
当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。 Class<?>getClass()
返回此 Object 的运行时类。 inthashCode()
返回该对象的哈希码值。 voidnotify()
唤醒在此对象监视器上等待的单个线程。 voidnotifyAll()
唤醒在此对象监视器上等待的所有线程。 StringtoString()
返回该对象的字符串表示。 voidwait()
在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当前线程等待。 voidwait(long timeout)
在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者超过指定的时间量前,导致当前线程等待。 voidwait(long timeout, int nanos)
在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者其他某个线程中断当前线程,或者已超过某个实际时间量前,导致当前线程等待。

Java中Object类中的方法

Java的Object类是所有类的顶级父类,方法如下:
1. hashCode(),返回一个hash值,两个对象的hash值不同,那么两个对象equals肯定为false。hash相同,equals不一定为true。
2. equals()
3. clone() 只有实现Cloneable接口的对象才可以调用这个方法。clone()是浅复制。如果对象里面又关联其他对象那么需要重写clone()方法才能深复制。深复制是针对引用类型而言的,基本数据类型不用考虑。序列化也可以实现深复制。
4. toString()方法
5. notify() 唤醒在该对象上等待的某个线程
6. wait()
7. notifyAll()
8. getClass()
9. finalize()
10. registerNative()注册本地方法

以上是关于JAVA中Object类中 有几个方法的主要内容,如果未能解决你的问题,请参考以下文章

Java中的Object类的几个方法

Object类源码解析

Java中Object类中的方法

JAVA中Object类中的equals方法补充

说说Object类下面有几种方法呢?

Object类与常用类,内部类