一、Object类中一共有12个方法。一个私有方法,两个保护方法,9个公共方法。另外还有一个静态代码块。

1、registerNatives方法。私有静态本地无参数无返回值。

2、finalize方法。保护方法。无参数无返回值。

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

3、clone方法。保护方法。本地方法,无参数Object类型返回值。

实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。主要是JAVA里除了8种基本类型传参数是值传递,其他的类对象传参数都是引用传递。

4、equals方法。Object参数boolean返回值。

equals()通常用来进行比较,在Object类中,它进行了引用的比较,只有引用相同时会返回true。但是这样并不是我们想要的比较的情况,比如字符串的比较是比较每个字符是否相同。那么在String类中就会对equals()方法进行重写。都知道java中比较字符串是否相等应该用equals();而==则是比较的值,也就是引用;那么为什么是这样的呢?我今天看了下equals的实现方法,发现字符串的比较,是通过每一个字符进行比较,如果都相等,则返回true;而源码里面Object类型的equals方法却是直接用==来代替的,也就是说相当于直接比较引用了,这也就是为什么我们有时候要重写equals方法了。

######################################################

下面附上Jdk中String类型的equals方法源码。

5、hashCode方法。本地方法。返回整型。

一个对象的签名,但是不同对象该签名可能会重复,只是一般不会。该方法用来返回其所在对象的物理地址(哈希码值),常会和equals方法同时重写,确保相等的两个对象拥有相等的.hashCode

6、getClass方法。不可覆写的本地方法。

7、toString方法。全限定性类名+“@”+hashCode值的十六进制表示。

8、wait方法。不可覆写方法。本质是调用wait( long timeout)方法。

wait方法就是使当前线程等待该对象的锁,当前线程必须是该对象的拥有者,也就是具有该对象的锁。wait()方法一直等待,直到获得锁或者被中断。

9、wait(long timeout)。不可覆写的本地方法。

wait(long timeout)设定一个超时间隔,如果在规定时间内没有获得锁就返回。

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

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

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

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

(4)时间间隔到了。

10、wait(long timeout, int nanos)方法。不可覆写。

11、notify方法。不可覆写的本地方法。

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

12、notifyAll方法。不可覆写的本地方法。

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

二、总结。

1、

2、

3、

三、

最新文章

  1. ubuntu专用
  2. linux回退到上次访问目录
  3. Interleaving Positive and Negative Numbers
  4. svn 服务器不能看log问题
  5. 动态下载苹果系统提供的多种中文字体(适合对字体有较多需求的应用比如阅读类的app)
  6. 一个可能有用的封闭PGSQL操作的PYTHON函数
  7. 2014总结&2015计划
  8. Windows API 文件处理
  9. 《NFS文件共享服务的搭建》RHEL
  10. 【@Transactional】Spring 之注解事务 @Transactional
  11. jQuery 1.9+ ajaxStart事件无效,无法被触发的原因。
  12. Meta标签中的format-detection属性及含义让IPHONE的数字可以改变颜色
  13. [iOS]关于零基础学习iOS开发的学习方法总结
  14. FastDFS安装和配置,整合Nginx-1.13.3
  15. dom4j解析xml文档全面介绍
  16. HTML DOM 访问2
  17. drf相关问题
  18. xhprof 安装详解
  19. IDEA & Android Studio换主题背景
  20. Android Shell命令dumpsys

热门文章

  1. vue-resource使用 (vue仿百度搜索)
  2. 关于VMware虚拟机磁盘收缩的几种方法
  3. Android ScrollView嵌套ScrollView滚动的问题解决办法
  4. linux定时任务cron配置说明
  5. 大话FLASH和EEPROM
  6. python的十进制与任意进制的转换
  7. python----字符编码与文件处理
  8. poj3168 Barn Expansion【计算几何 平面扫描】
  9. nowcoder2018年全国多校算法寒假训练营练习比赛(第一场)
  10. sqoop学习笔记