Java中Object类是所有类的父类,是Java中最高层的类。用户创建一个类时,除非指定继承了某个类,否则都是继承于Object类。
由于所有类都继承于Object类,所以所有类都可以重写Object类中的方法。但是Object类中被final修饰的getClass(),notify(),notifyAll(),wait()方法不能被重写。
getClass()方法是Object类定义的方法,用于返回对象执行时的Class实例,然后使用此实例调用getName()方法可以获得类的名称。
语法:
getClass().getName();
toString()方法的作用是将一个对象返回为字符串的形式,返回一个String实例。在实际的应用中通常会重写toString()方法,为对象提供一个特定的输出模式。当这个类被转换为字符串或者与字符串一起拼接时,将自动调用重写的toString()方法。
- package classExtends;
-
- public class ObjectInstance {
- public String toString() { //重写toString()方法
- return "在" + getClass().getName() + "类中重写toString()方法~";
- }
-
- public static void main(String[] args) {
- ObjectInstance obj = new ObjectInstance();
- System.out.println(obj); //打印本类对象
- }
- }
-
- 输出:
- 在classExtends.ObjectInstance类中重写toString()方法~
equals()方法用于比较两个对象的实际内容;“==”比较运算符比较的是两个对象是否相等,即对象是否是同一个,同一个内存地址。
- package classExtends;
-
- class V {
-
- }
-
- public class overWriteEquals {
- public static void main(String[] args) {
- String s1 = "123";
- String s2 = "123";
- System.out.println(s1.equals(s2)); //true
- V v1 = new V();
- V v2 = new V();
- System.out.println(v1.equals(v2)); //false
- }
- }
-
-