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());
二、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));
三、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值是通过和当前线程有关的一个随机数+三个确定值,运用随机数算法得到的一个随机数。和对象内存地址无关。