一、Object 类
Object 类简介:
Object 类是类层次结构的根类,是所有类的超类。在我们创建类的时候,如果不继承指定的类,就会默认继承 Object 类。
Object 类中常用的方法:
1、hashCode()
- public int hashCode()
- 返回该对象的哈希码值。其值一般是该对象在内存上的地址。
- 不同的对象在使用 hashCode() 时,返回的哈希码值一般都是不同的。但是,同一个对象使用 hashCode() 时,返回的哈希码值肯定相同。
Demo 代码示例:
public class HashCodeDemo {
public static void main(String[] args) {
HashCodeDemo demo = new HashCodeDemo();
//hashCode(),返回对象哈希码值
System.out.println("hashCode:"+demo.hashCode());
}
}
运行结果:
2、getClass() ,getName() ,toString()
- public final Class getClass()
- 当对象调用此方法时,会返回当前对象的真实类(实体)的全名称。
- public String getName(),可以将对象的实体以 String 的形式返回。
- public String toString()
-
将对象的返回值转换成字符串。
-
直接使用对象调用此方法,它的值便等于:getClass().getName() + ‘@’ + Integer.toHexString(hashCode())
-
注意:直接输出一个对象的名称,其实就是调用该对象的toString()方法。
-
Demo 代码示例:
public class TestDemo {
public static void main(String[] args) {
TestDemo demo = new TestDemo();
System.out.println("返回该对象实体的全名称:"+demo.getClass().getName());
System.out.println("返回该对象实体的全名称,并转换成字符串格式:"+demo.toString());
}
}
运行结果:
3、equals()
- public boolean equals(Object obj)
- 判断两个对象是否相等。
- 判断对象的成员变量值是否相同。
Demo 代码示例:
public class EqualsDemo {
public static void main(String[] args) {
EqualsDemo demo = new EqualsDemo();
System.out.println("引用类型的比较:"+demo.equals(demo));
System.out.println("基本类型的比较:"+"name".equals("sds"));
}
}
运行结果:
4、toString()
- toString() 方法在 Object 类里定义的,其返回值类型为 String 类型,返回类名和它的引用地址。
- 这里需要注意的是,使用 toString 方法时,并不是返回对象本身,或者是对象内存储的数据,而是将这些内容的表象以字符串的形式返回。
Demo代码示例:
List list = new ArrayList();
list.add(12);
list.add("String");
list.add(2.14);
list.add('i');
list.add(true);
//这两个输出语句所达到的效果都是一样的。
//在使用输出语句直接打印数据时,println() 的底层会调用 toString() 。
System.out.println(list);
System.out.println(list.toString());