Object是所有類的父類,是類層次結(jié)構(gòu)的根類,所有對象(包括數(shù)組)都實(shí)現(xiàn)了這個(gè)類的方法,所有的對象都會(huì)直接或間接的繼承自O(shè)bject類。
(推薦教程:java入門教程)
Object的常用方法:
1、getClass()方法:返回對象執(zhí)行時(shí)的class實(shí)例
public class Demo{ public static void main(String[] args){ Object[] arr = new Object[4]; arr[0] = new Object(); arr[1] = new String("字符串"); arr[2] = new Integer(10); arr[3] = new Demo(); for(Object obj: arr){ System.out.println(obj.getClass()); } } }
輸出:
class java.lang.Object class java.lang.String class java.lang.Integer class Demo
2、toString()方法:將對象返回為字符串形式(如果子類不重寫toString方法則會(huì)返回類名@16進(jìn)制的Hash值)
public class Demo{ public static void main(String[] args){ Object[] arr = new Object[4]; arr[0] = new Object(); arr[1] = new String("字符串"); arr[2] = new Integer(10); arr[3] = new Demo(); for(Object obj: arr){ System.out.println(obj.toString()); } } }
輸出:
java lang.Object@1db9742 字符串 10 Demo@10d69c
(視頻教程推薦:java視頻教程)
重寫toString:
@Override public static toString(){ return "我是demo類"; }
輸出:
java lang.Object@1db9742 字符串 10 我是demo類
修改上面代碼可以直接輸出obj,則會(huì)默認(rèn)調(diào)用toString()方法:
for(Object obj: arr){ System.out.println(obj); }
3、equals()方法:比較兩個(gè)對象是否相等
equals方法默認(rèn)比較的是兩個(gè)對象的地址是否相等(底層是用==比較的),一般都會(huì)自定義的重寫equals方法來進(jìn)行比較。