Object类-----简单描述
2016-07-19 22:13
323 查看
Java类库中的核心部分:String、Object、Class、Collection、ClassLoader、System、Runtime...Object类的概述:
A:Object类是所有Java类的祖先。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。
B:在不明确给出超类的情况下,Java会自动把Object作为要定义类的超类
C:Object类有一个默认构造方法pubilc Object(),在构造子类实例时,都会先调用这个默认构造方法。
D:可以使用类型为Object的变量指向任意类型的对象。
举例:Object类的变量只能用作各种值的通用持有者。要对他们进行任何专门的操作,都需要知道它们的原始类型并进
行类型
转换。
例如:
Object obj = new MyObject();
MyObject x = (MyObject)obj;
Object类的方法:
A:equals():
1、用于测试某个对象是否同另一个对象相等。
2、它在Object类中的实现是判断两个对象是否指向同一块内存区域。
3、这中测试用处不大,因为即使内容相同的对象,内存区域也是不同的。如果想测试对象是否相等,就需要覆盖此方法,进
行更有意义的比较。
B:toString():
1、返回该对象的字符串表示。
2、Object类中的toString()方法会打印出类名和对象的内存位置。
3、几乎每个类都会覆盖该方法,以便打印对该对象当前状态的表示。大多数(非全部)toString()方法都遵循如下格式:类名[字段名=值,字段名=值...],当然,子类应该定义自己的toString()方法。
4、当打印引用变量时,实际上会打印出引用所指对象的toString()方法的返回值。因为每个类都直接或者间接地继承自Object,而Object类中定义了toString(),因此每个类都有toString()这个方法。如果是一个字符串变量,如String
str = "asa";则打印aaa,说明String类重写了toString()方法。
5、getClass().getName()+'@' +Integer.toHexString(hashCode())
C:clone()
1、创建并返回此对象的一个副本。
2、独立性
3、对于任何对象x
x.clone() != x 为ture 就是clone后的地址值和之前的x绝对不同,而除了内存地址不同,对象的 类型和里面的内容必须相同。
D:hashCode()
1、返回该对象的哈希码值。
2、实际上,由
Object 类定义的 hashCode 方法确实会针对不同的对象返回不同的整数。(这一般是通过将该对象的内部地址转换成一个整数来实现的,
3、在
Java 应用程序执行期间,在对同一对象多次调用 hashCode
方法时,必须一致地返回相同的整数,前提是将对象进行 equals
比较时所用的信息没有被修改。从某一应用程序的一次执行到同一应用程序的另一次执行,该整数无需保持一致。
http://lavasoft.blog.51cto.com/62575/15456/里面有equals()方法重写的(http://www.cnblogs.com/mengdd/archive/2013/01/03/2842809.html)里面有hashCode()方法重写的规范
A:Object类是所有Java类的祖先。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。
B:在不明确给出超类的情况下,Java会自动把Object作为要定义类的超类
C:Object类有一个默认构造方法pubilc Object(),在构造子类实例时,都会先调用这个默认构造方法。
D:可以使用类型为Object的变量指向任意类型的对象。
举例:Object类的变量只能用作各种值的通用持有者。要对他们进行任何专门的操作,都需要知道它们的原始类型并进
行类型
转换。
例如:
Object obj = new MyObject();
MyObject x = (MyObject)obj;
Object类的方法:
A:equals():
1、用于测试某个对象是否同另一个对象相等。
2、它在Object类中的实现是判断两个对象是否指向同一块内存区域。
3、这中测试用处不大,因为即使内容相同的对象,内存区域也是不同的。如果想测试对象是否相等,就需要覆盖此方法,进
行更有意义的比较。
B:toString():
1、返回该对象的字符串表示。
2、Object类中的toString()方法会打印出类名和对象的内存位置。
3、几乎每个类都会覆盖该方法,以便打印对该对象当前状态的表示。大多数(非全部)toString()方法都遵循如下格式:类名[字段名=值,字段名=值...],当然,子类应该定义自己的toString()方法。
4、当打印引用变量时,实际上会打印出引用所指对象的toString()方法的返回值。因为每个类都直接或者间接地继承自Object,而Object类中定义了toString(),因此每个类都有toString()这个方法。如果是一个字符串变量,如String
str = "asa";则打印aaa,说明String类重写了toString()方法。
5、getClass().getName()+'@' +Integer.toHexString(hashCode())
C:clone()
1、创建并返回此对象的一个副本。
2、独立性
3、对于任何对象x
x.clone() != x 为ture 就是clone后的地址值和之前的x绝对不同,而除了内存地址不同,对象的 类型和里面的内容必须相同。
D:hashCode()
1、返回该对象的哈希码值。
2、实际上,由
Object 类定义的 hashCode 方法确实会针对不同的对象返回不同的整数。(这一般是通过将该对象的内部地址转换成一个整数来实现的,
3、在
Java 应用程序执行期间,在对同一对象多次调用 hashCode
方法时,必须一致地返回相同的整数,前提是将对象进行 equals
比较时所用的信息没有被修改。从某一应用程序的一次执行到同一应用程序的另一次执行,该整数无需保持一致。
http://lavasoft.blog.51cto.com/62575/15456/里面有equals()方法重写的(http://www.cnblogs.com/mengdd/archive/2013/01/03/2842809.html)里面有hashCode()方法重写的规范
相关文章推荐
- Android Native 绘图方法
- C#中struct和class的区别详解
- VBS ArrayList Class vbs中的数组类
- 大家看了就明白了css样式中类class与标识id选择符的区别小结
- 深入了解PHP类Class的概念
- jquery 表单验证之通过 class验证表单不为空
- setAttribute 与 class冲突解决
- JavaScript通过HTML的class来获取HTML元素的方法总结
- JavaScript中的类(Class)详细介绍
- 原生js实现class的添加和删除简单代码
- javascript面向对象包装类Class封装类库剖析
- jQuery针对input的class属性写了多个值情况下的选择方法
- 详解js中class的多种函数封装方法
- jQuery使用hide方法隐藏指定元素class样式用法实例
- jQuery给多个不同元素添加class样式的方法
- jQuery点击改变class并toggle及toggleClass()方法定义用法
- jquery采用oop模式class类的使用示例
- jquery点击改变class并toggle的实现代码
- JavaScript更改class和id的方法
- 一篇入门的php Class 文章