14.Java面向对象----Object类

Object类

Java中Object 类是所有类的父类,也就是说 Java 的所有类都继承了 Object,子类可以使用 Object 的所有方法。
Object 类位于 java.lang 包中,编译时会自动导入,我们创建一个类时,如果没有明确继承一个父类,那么它就会自动继承 Object,成为 Object 的子类。

//隐式继承Object
public class Dome {

}
//显式继承Object
public class Dome extends Object{

}

object常用方法

一、toString()方法

返回该对象的字符串表示。通常,toString()会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。toString()是可重写方法,通常情况下建议重写该方法。如果类对象调用toString()方法,则返回类名+哈希吗的字符串。

		Dome d=new Dome();
		System.out.println(d.toString());

14.Java面向对象----Object类_第1张图片

二、equals()方法

Object中的equals方法是直接判断this和obj本身的值是否相等,即用来判断调用equals的对象和形参obj所引用的对象是否是同一对象,所谓同一对象就是指内存中同一块存储单元,如果this和obj指向的是同一块内存对象,则返回true,如果this和obj指向的不是同一块内存,则返回false,注意:即便是内容完全相等的两块不同的内存对象,也返回false。String中的equals()方法是重写后的方法,比较的是字符串的值。所以本质上equals()方法与“==”是一样的。

		Dome d=new Dome();
		Dome d1=new Dome();
		System.out.println(d.equals(d1));
		
		String s=new String("123");
		String s1=new String("123");
		System.out.println(s.equals(s1));

14.Java面向对象----Object类_第2张图片

三、clone()方法

clone意思是克隆、复制。在Java语言中,当对象调用clone()方法时,就会复制已有的对象。clone()方法在根类Object中定义如下。要使类具有克隆能力能力时,需要实现Cloneable接口。clone()方法是目前为止除了new关键字外另一种创建对象实例的方式。

四、getClass()方法

我们知道在Java中一切都是对象,我们一般所使用的对象都直接或间接继承自Object类。Object类中包含一个方法名叫getClass,利用这个方法就可以获得一个实例的class对象。这个对象指的是代表一个类型的对象,因为一切皆是对象,类型也不例外,在Java使用class类的对象来表示一个类型。所有的类型类都是Class类的实例。
因此,获取类的class对象的两种方式:

  • 如果你知道一个实例,那么你可以通过实例的“getClass()”方法获得该对象的class对象
  • 如果你知道一个类型(String名称),那么你可以使用“类名.class”的方法获得该类型的class对象

五、hashCode()方法

通过方法获取对象的 hash 值。当我们未重写toString()方法时,返回的字符串@符号后面的就是对象的hash值。hash值是通过和当前线程有关的一个随机数+三个确定值,运用随机数算法得到的一个随机数。和对象内存地址无关。

你可能感兴趣的:(Java,SE,java,jvm,开发语言)