10.2 Object类
Posted studycode
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10.2 Object类相关的知识,希望对你有一定的参考价值。
一、概述
a、在java中,所有的类都直接或间接继承了java.lang.Object类。
b、Object类是比较特殊的类,它是所有类的父类,是java类层总的最高层类。
c、由于所有类都是Object子类,所以在定义类时,省略了extends Object关键字。
d、在Object类中主要包括clone()、finalize()、equals()、toString()等方法,其中常用的两个方法是equals()和toString();
注意:Object类中的getClass()、notify()、notifyAll()、wait()等方法不能被重写,因为这些方法被定义为final类型。
1、getClass()方法:返回对象执行时的Class实例,然后使用此实例调用getName()方法可以取得类的名称
getClass().getName(); (也可以将getClass()方法与toString()方法联合使用)
2、toString()方法:将一个对象返回为字符串形式,它会返回一个String实例。
a、在实际应用中通常会重写toString()方法,为对象提供一个特定的输出模式。
b、当这个类型自动转化为字符串或与字符串连接时,将自动调用重写的toString()方法。
例子10.3
1 public class ObjectInstance { 2 public String toString() { //重写toString()方法 3 return "在" + getClass().getName() + "类中重写toString()方法!"; 4 } 5 public static void main(String[] args) { 6 System.out.println(new ObjectInstance()); //打印本类对象 7 } 8 }
3、equals方法:比较两个对象的实际内容是否相等(而“==”是比较两个对象的引用地址是否相等)
例子10.4
1 package aaaa; 2 class V{ 3 4 } 5 6 public class OverWriteEquals { 7 public static void main(String[] args) { 8 String s1 = "123"; //实例化两个对象,内容相同 9 String s2 = "123"; 10 System.out.println(s1.equals(s2)); //使用equals()方法比较 11 System.out.println(s1==s2); 12 13 System.out.println("======================"); 14 15 V v1 = new V(); //实例化两个V对象 16 V v2 = new V(); 17 System.out.println(v1.equals(v2)); //使用equals()方法比较 18 System.out.println(v1==v2); 19 } 20 }
以上是关于10.2 Object类的主要内容,如果未能解决你的问题,请参考以下文章
Vue报错:Uncaught TypeError: Cannot assign to read only property 'exports' of object 的解决方法(代码片段