Object类详解
来源:互联网 发布:软件用户手册背景 编辑:程序博客网 时间:2024/05/16 09:53
Object类似所有类的父类,所有对象(包括数组)都实现了这个类的方法
Object类中的方法如下:
getClass,clone,notify,notifyAll,wait是本地方法
hashCode方法也是本地方法:hashCode方法的结果必须和equals方法的结果一致。在Object类中equals方法与“==”的功能一样,都是比较对象的在堆中的地址。但是在某些子类中如String类中,equals方法是被重写过的,用来比较对象的内容,根据hashCode方法的要求,我们必须在String类中对hashcode方法进行重写。但是hashcode相等的对象,equals却不一定相等。
Equals方法在object类中与“==”是一样的。
toString方法默认返回一个字符串,这个字符串由类名加“@”加对象的hashCode组成。比如:Test@12343
Finalize方法在Object类中比没有内容,这个方法在java决定进行垃圾回收之前会自动调用并且一个对象的Finalize方法只能被调用一次。
下面用一个例子来分析Finalize方法:
public class Test{static B b;public static void main(String[] args) throws Exception{Test.b=new B();System.out.println("第一次打印"+Test.b.toString());//Test.b=null;System.gc();//执行内存清理,但是在调用finalize方法的时候,对象拯救了自己,因此不会进行堆内存的回收Thread.sleep(5000);//这里必须要进行休眠,因为finalize方法优先级很低,不休眠的话,finalize方法可能不会被执行System.out.println("第二次打印"+Test.b.toString());Test.b=null;System.gc();//执行到这里的时候finalize方法不会被执行,因为一个对象的finalize方法只能被执行一次,因此Test.b依然为nullThread.sleep(5000);System.out.println("第三次打印"+Test.b.toString());//出现空指针异常}}class B{@Overrideprotected void finalize() throws Throwable {super.finalize();Test.b=this;System.out.println("finalize");}}
0 0
- 15、Object类详解
- object类的详解
- Object类详解
- object类详解
- Java:Object类详解
- Object类详解
- 15、Object类详解
- Java:Object类详解
- Object类详解
- Java Object类详解
- Java:Object类详解
- Object类详解
- Java Object类详解
- Java:Object类详解
- Object类详解
- java Object类源代码详解
- java Object类源代码详解
- Java的Object类详解
- C++STL中vector容器 begin()与end()函数、front()与back()的用法
- jQuery UI Dialog
- 大数据之哲学观
- android学习记录
- 创建包围轮廓的矩形和圆形边界框
- Object类详解
- poj1603The Triangle
- oracle操作命令
- Android 复选框CheckBox
- strlen 和sizeof
- SQLite入门与分析(二)---设计与概念
- 计算轮廓矩
- Files 的值“ < < < < < < < .mine”无效。路径中具有非法字符。
- c解决八皇后问题