码迷,mamicode.com
首页 > 编程语言 > 详细

Java进阶(1) - Object类

时间:2019-09-09 21:07:03      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:dex   als   object类   覆盖   集合框架   否则   支持   传递   串操作   

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

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

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

4、finalize方法
该方法用于释放资源。因为无法确定该方法说明时候调用,很少使用。

5、equals方法

6、hashCode方法
该方法用于哈希查找,可减少查找中使用equals的次数,重写了equals方法一般都要重写hashCode方法。
对象不重写hashCode方法,在集合框架中,判断2个对象内容是否相当,如没重写hashCode,默认使用内存地址,因此会存多个。

7、wait方法

8、notify方法

9、notifyAll方法

Object为什么设计9大方法
equals,hashCode,clone(对象类型的变量只是个引用,与实际内容不相干)。
toString(任何语言用的最多的都是字符串操作,能将object转化未字符串当然也就势在必行了)。
wait,notify*(java是第一个直接支持多线程的高级语言,这些方法是不是必不可少,当然并不是所有的java程序都需要显式使用多线程)
finalize(java也是第一个支持垃圾回收机智的高级语言,这个方法也就理所当然了)
getClass(所有的java?Object都有类与之对应)

为什么Object不设计成抽象的
待完善 ~

参考:https://www.jianshu.com/p/a509edc4fc08

Java进阶(1) - Object类

标签:dex   als   object类   覆盖   集合框架   否则   支持   传递   串操作   

原文地址:https://blog.51cto.com/4397014/2436892

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!