Object是java所有類別的基底類,是整個類別繼承結構的頂端,也是最抽象的一個類別。大家天天都在使用toString()、equals()、hashCode()、waite()、notify()、getClass()等方法,或許都沒有意識到是Object的方法,也沒有去看Object還有哪些方法以及思考為什麼這些方法要放到Object中。
Object 是 Java 類別庫中的一個特殊類,也是所有類別的父類別。也就是說,J ava 允許把任何類型的物件賦給 Object 類型的變數 。當一個類別被定義後,如果沒有指定繼承的父類,那麼預設父類別就是 Object 類別。因此,以下兩個類別所表示的含義是一樣的。
public class MyClass{…}
等價於
public class MyClass extends Object {…}
由於Java所有的類別都是Object 類別的子類,所以任何Java 物件都可以呼叫Object 類別的方法。常見的方法:
Object clone() 建立與該物件的類別相同的新物件
boolean equals(Object) 比較兩個物件是否相等
void finalize() 當垃圾回收器確定不當存在對該物件的更多參考時,物件垃圾回收器呼叫該方法
Class getClass() 傳回一個物件運行時的實例類別
int hashCode() 傳回該物件的雜湊碼值
void notify() 啟動等待在該物件的監視器上的一個執行緒
void notifyAll() 啟動等待在該物件的監視器上的全部執行緒
String toString() 傳回該物件的字串表示
void wait() 在其他執行緒呼叫此物件的notify() 方法或notifyAll() 方法前,導致目前執行緒等待
#System類別位於java.lang 套件,代表目前Java 程式的運作平台,系統層級的許多屬性和控制方法都放置在該類別的內部。由於該類別的建構方法是 private 的,所以無法建立該類別的對象,也就是無法實例化該類別。
System 類別提供了一些類別變數和類別方法,允許直接透過 System 類別來呼叫這些類別變數和類別方法。
System 類別有 3 個靜態成員變量,分別是 PrintStream out、InputStream in 和 PrintStream err。
此流已開啟並準備接收輸出資料。通常,此流對應於顯示器輸出或由主機環境或使用者指定的另一個輸出目標。
例如,寫一行輸出資料的典型方式是:
System.out.println(data);
#其中,println 方法是屬於流類別PrintStream 的方法,而不是System 中的方法。
此流已開啟並準備提供輸入資料。通常,此流對應於鍵盤輸入或由主機環境或使用者指定的另一個輸入來源。
其語法與 System.out 類似,不需要提供參數就可輸出錯誤訊息。也可以用來輸出使用者指定的其他訊息,包括變數的值。
以上是如何使用Java中的Object類別和System類別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!