Java基礎(二十二)
阿新 • • 發佈:2018-12-19
Object類
1:什麼是Object類
Object類的主要特點是可以解決引數的統一問題,也就是說使用Object類可以接收所有的資料型別。
在Java之中只有一個類是不存在有繼承關係的,那麼這個類就是Object類,也就是說所有的預設情況下都是Object子類(以下兩種定義方式相同):
class Person { } 等價於 : class Person extends Object { }
在Object類設計的時候考慮到了所有繼承的問題,所以該類提供有無參構造方法,這樣所有的類在定義時即便不知道Object的存在也不會出現構造方法呼叫失敗的語法錯誤。
2:Object是所有類的父類
既然Object是所有類的父類,那麼這種情況下就可以使用Object類接收所有的子類物件。(程式碼如下)
//觀察Object類接收所有子類物件
public class JavaDemo {
public static void main(String args[]) {
Object obj = new Person() ; // 向上轉型
if (obj instanceof Person) {
Person per = (Person) obj ;
System.out.println("Person物件向下轉型執行完畢。") ;
}
}
}
如果一個程式的方法要求可以接收所有類物件的時候就可以利用Object實現處理;
在Java設計的過程之中對於所有的引用資料型別實際上都可以使用Object類進行接收,包括陣列也可以(程式碼如下)。
public class JavaDemo { public static void main(String args[]) { Object obj = new int [] {1,2,3} ; // 向上轉型 if (obj instanceof int[]) { // 是否為整型陣列 int data [] = (int []) obj ; // 向下轉型 for (int temp : data) { System.out.print(temp + "、") ; } } } } //Object是一個萬能的資料型別,它更加適合於程式的標準設計。
3:獲取物件設計
Object雖然是一個類,但是這個類本身也提供有一些方法,例如:toString();該方法可以獲取一個物件的所有資訊,public String toString().
//觀察預設的構造方法
class Person { }
public class Demo{
public static void main(String args[]){
Person per = new Person();
System.out.println(per);
System.out.println(per.toString());//Object類繼承而來的方法。
}
}
//結果:
開始面試[email protected]
開始面試[email protected]