博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Object类
阅读量:5105 次
发布时间:2019-06-13

本文共 1469 字,大约阅读时间需要 4 分钟。

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方法

    -引用来自百度百科

转载于:https://www.cnblogs.com/WhataNerd/p/8542437.html

你可能感兴趣的文章
补坑:Prufer 编码总结
查看>>
mysql单节点大事务限制是哪个参数_java面试题汇总 转自多处
查看>>
ORACLE- PLSQL 游标的几种使用情况
查看>>
Maven依赖
查看>>
声笔飞码超字模式效率分析
查看>>
元旦快乐(2016-01-01)
查看>>
WCF服务部署到IIS上,然后通过web服务引用方式出现错误的解决办法
查看>>
jq地区联动
查看>>
paip.cache 缓存架构以及性能提升总结
查看>>
Atitit.atiDataStoreService v2 新特性
查看>>
Atitit.在线充值功能的设计
查看>>
解决CListCtrl闪烁及水平滚动条不能跟踪拖动的问题
查看>>
Thinkphp中使用display()方法显示视图模板,使用show()方法是显示文本内容
查看>>
搭建-以外网访问本地主机
查看>>
本地存储(cookie&sessionStorage&localStorage)
查看>>
JavaScript escape encodeURI encodeURIComponent() 函数
查看>>
UtraEdit 支持Lua高亮
查看>>
Javascript语法基础
查看>>
Microsoft Visual C++ 6.0快捷键(绝对值得掌握)
查看>>
操作系统 第1次作业
查看>>