Object是java所有類的基類,是整個(gè)類繼承結(jié)構(gòu)的頂端,也是最抽象的一個(gè)類。大家天天都在使用toString()、equals()、hashCode()、waite()、notify()、getClass()等方法,或許都沒有意識(shí)到是Object的方法,也沒有去看Object還有哪些方法以及思考為什么這些方法要放到Object中。
一、Java Object類簡(jiǎn)介-所有類的超類
Object 是 Java 類庫(kù)中的一個(gè)特殊類,也是所有類的父類。也就是說,J ava 允許把任何類型的對(duì)象賦給 Object 類型的變量 。當(dāng)一個(gè)類被定義后,如果沒有指定繼承的父類,那么默認(rèn)父類就是 Object 類。因此,以下兩個(gè)類表示的含義是一樣的。
public class MyClass{…}
等價(jià)于
public class MyClass extends Object {…}
1.1、常用方法
由于 Java 所有的類都是 Object 類的子類,所以任何 Java 對(duì)象都可以調(diào)用 Object 類的方法。常見的方法:
Object clone() 創(chuàng)建與該對(duì)象的類相同的新對(duì)象
boolean equals(Object) 比較兩對(duì)象是否相等
void finalize() 當(dāng)垃圾回收器確定不存在對(duì)該對(duì)象的更多引用時(shí),對(duì)象垃圾回收器調(diào)用該方法
Class getClass() 返回一個(gè)對(duì)象運(yùn)行時(shí)的實(shí)例類
int hashCode() 返回該對(duì)象的散列碼值
void notify() 激活等待在該對(duì)象的監(jiān)視器上的一個(gè)線程
void notifyAll() 激活等待在該對(duì)象的監(jiān)視器上的全部線程
String toString() 返回該對(duì)象的字符串表示
void wait() 在其他線程調(diào)用此對(duì)象的 notify() 方法或 notifyAll() 方法前,導(dǎo)致當(dāng)前線程等待
二、Java System類詳解
System 類位于 java.lang 包,代表當(dāng)前 Java 程序的運(yùn)行平臺(tái),系統(tǒng)級(jí)的很多屬性和控制方法都放置在該類的內(nèi)部。由于該類的構(gòu)造方法是 private 的,所以無法創(chuàng)建該類的對(duì)象,也就是無法實(shí)例化該類。
System 類提供了一些類變量和類方法,允許直接通過 System 類來調(diào)用這些類變量和類方法。
System 類有 3 個(gè)靜態(tài)成員變量,分別是 PrintStream out、InputStream in 和 PrintStream err。
2.1、PrintStream out 標(biāo)準(zhǔn)輸出流
此流已打開并準(zhǔn)備接收輸出數(shù)據(jù)。通常,此流對(duì)應(yīng)于顯示器輸出或者由主機(jī)環(huán)境或用戶指定的另一個(gè)輸出目標(biāo)。
例如,編寫一行輸出數(shù)據(jù)的典型方式是:
System.out.println(data);
其中,println 方法是屬于流類 PrintStream 的方法,而不是 System 中的方法。
2.2、InputStream in 標(biāo)準(zhǔn)輸入流
此流已打開并準(zhǔn)備提供輸入數(shù)據(jù)。通常,此流對(duì)應(yīng)于鍵盤輸入或者由主機(jī)環(huán)境或用戶指定的另一個(gè)輸入源。
2.3、PrintStream err 標(biāo)準(zhǔn)的錯(cuò)誤輸出流
其語法與 System.out 類似,不需要提供參數(shù)就可輸出錯(cuò)誤信息。也可以用來輸出用戶指定的其他信息,包括變量的值。
到此這篇關(guān)于Java 語言中Object 類和System 類詳解的文章就介紹到這了,更多相關(guān)Java 語言O(shè)bject 類和System 類內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://cn-blogs.cn/archives/9956.html