Object类

简介: Object类是Java中所有类的始祖,在Java中每个类都是由它扩展而来的。但不需要明写:public class String extends ObjectObject类具...

Object类是Java中所有类的始祖,在Java中每个类都是由它扩展而来的。但不需要明写:

public class String extends Object

Object类具有以下特性

  • 对于任何一个类,如果没有明显的指出它的父类,那么就默认它的父类是Object类

  • 可以使用Object类型的变量引用任何类型的对象

Object obj = new Integer(666);
Object obj = new String("ABC");
...

但是Object变量引用的对象,只能当做是该对象的持有者,若想执行对象内部的操作还需要进行类型转换

  • Java中只有8个基本类型(int, float, double, boolean, byte, char, long, short)不是对象,也就是Object类不能引用这些类型

  • 所有的数组类型,不管是对象数组还是基本类型数组都扩展了Object类

Object中的方法:

1. Object() //默认构造方法

2. clone() //创建并返回此对象的一个副本。

3. equals(Object obj) //指示某个其他对象是否与此对象“相等”。

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

5. getClass() //返回一个对象的运行时类。

6. hashCode() //返回该对象的哈希码值。

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

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

9. toString() //返回该对象的字符串表示。

10. wait()
//导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法。

11. wait(long timeout)
//导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者超过指定的时间量。

12. wait(long timeout, int nanos)
导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者其他某个线程中断当前线程,或者已超过某个实际时间量。

关于equals方法

Java语言规范要求equals方法具有下面的特点:

  • 自反性:对于任何非空引用值 x,x.equals(x) 都应返回 true。

  • 对称性:对于任何非空引用值 x 和 y,当且仅当 y.equals(x) 返回 true 时,x.equals(y) 才应返回 true。

  • 传递性:对于任何非空引用值 x、y 和 z,如果 x.equals(y) 返回 true,并且 y.equals(z) 返回 true,那么 x.equals(z) 应返回 true。

  • 一致性:对于任何非空引用值 x 和 y,多次调用 x.equals(y) 始终返回 true 或始终返回 false,前提是对象上 equals 比较中所用的信息没有被修改。

  • 对于任何非空引用值 x,x.equals(null) 都应返回 false。

    从这里看出,上面的例子是Java规范的equals方法的标准实现,推荐用上面例子的写法实现类的equals方法

    -引用来自百度百科
目录
相关文章
|
7月前
|
Java
【面试题精讲】Object类的常见方法有哪些?
【面试题精讲】Object类的常见方法有哪些?
|
8月前
|
Java API 开发工具
Java之API详解之Object类的详细解析(下)
Java之API详解之Object类的详细解析(下)
40 0
|
4天前
|
C#
c# 所有类的最终基类:Object
c# 所有类的最终基类:Object
5 0
|
19天前
|
XML JSON Java
作为所有类的顶层父类,没想到Object的魔力如此之大!
在上一篇博文中我们提到了Java面向对象的四大特性,其中谈及“抽象”特性时做了一个引子,引出今天的主人公Object,作为所有类的顶级父类,Object被视为是James.Gosling的哲学思考,它高度概括了事务的自然与社会行为。
53 13
|
19天前
|
存储 Java 开发者
Java Object类
Java Object类
14 0
|
2月前
|
存储 设计模式 Python
Python中的类(Class)和对象(Object)
Python中的类(Class)和对象(Object)
32 0
|
7月前
|
Java
Java常用类--------Object类
Java常用类--------Object类
|
8月前
|
Java
Object类
Object类
34 1
|
4月前
|
Python
Python学习 -- 根类object
Python学习 -- 根类object
17 0
|
9月前
|
Java 程序员 API
Object类【JDK源码分析】
Object类【JDK源码分析】
25 0