java常用类——object

API概述:

API(Application Programming Interface)

应用程序编程接口

编写一个机器人程序去控制机器人踢足球,程序就需要向机器人发出向前跑、向后跑、射门、抢球等各种命令,没有编过程序的人很难想象这样的程序如何编写。但是对于有经验的开发人员来说,知道机器人厂商一定会提供一些用于控制机器人的Java类,这些类中定义好了操作机器人各种动作的方法。其实,这些Java类就是机器人厂商提供给应用程序编程的接口,大家把这些类称为Xxx Robot API。本章涉及的Java API指的就是JDK中提供的各种功能的Java类。

Object类概述:

类 Object 是类层次结构的根类。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法

   

hashCode:

返回该对象的哈希码值。支持此方法是为了提高哈希表(例如 java.util.Hashtable 提供的哈希表)的性能。

注意:哈希值是根据哈希算法计算出来的一个值,这个值和地址值有关,但是不是实际地址值。

你可以理解为地址值。

Student s1 = new Student();

System.out.println(s1.hashCode()); // 11299397

Student s2 = new Student();

System.out.println(s2.hashCode());// 24446859

Student s3 = s1;

System.out.println(s3.hashCode()); // 11299397

System.out.println("-----------");

   

   

getClass:

public final Class getClass():返回此 Object 的运行时类

Class类的方法:

public String getName():以 String 的形式返回此 Class 对象所表示的实体

Student s = new Student();

Class c = s.getClass();

String str = c.getName();

System.out.println(str); // cn.itcast_01.Student

   

//链式编程

String str2 = s.getClass().getName();

System.out.println(str2);

toString:

返回该对象的字符串表示。通常,toString 方法会返回一个"以文本方式表示"此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。

Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符"@"和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:

   

getClass().getName() + '@' + Integer.toHexString(hashCode())

 

返回:

该对象的字符串表示形式。

equals

public boolean equals(Object obj)指示其他某个对象是否与此对象"相等"。

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。

Object 类的 equals 方法实现对象上差别可能性最大的相等关系;即,对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true(x == y 具有值 true)。

   

注意:当此方法被重写时,通常有必要重写 hashCode 方法,以维护 hashCode 方法的常规协定,该协定声明相等对象必须具有相等的哈希码。

   

   

参数:

obj - 要与之比较的引用对象。

返回:

如果此对象与 obj 参数相同,则返回 true;否则返回 false。

另请参见:

hashCode(), Hashtable

finalize()

当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。用于垃圾回收,但是什么时候回收不确定。

clone():

创建并返回此对象的一个副本。

                A:重写该方法

 

Cloneable:此类实现了 Cloneable 接口,以指示 Object.clone() 方法可以合法地对该类实例进行按字段复制。

这个接口是标记接口,告诉我们实现该接口的类就可以实现对象的复制了。

   

   

   

   

   

   

posted @ 2017-07-04 10:10  殷瑜泰  阅读(243)  评论(0编辑  收藏  举报