Java 語言中Object 類和System 類詳解
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ǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Python2.6版本pip安裝步驟解析2. python公司內(nèi)項(xiàng)目對(duì)接釘釘審批流程的實(shí)現(xiàn)3. python中Ansible模塊的Playbook的具體使用4. Python自動(dòng)化之定位方法大殺器xpath5. Python本地及虛擬解釋器配置過程解析6. Python 利用flask搭建一個(gè)共享服務(wù)器的步驟7. 基于python實(shí)現(xiàn)matlab filter函數(shù)過程詳解8. Python中Anaconda3 安裝gdal庫(kù)的方法9. python自動(dòng)化測(cè)試三部曲之request+django實(shí)現(xiàn)接口測(cè)試10. Python importlib模塊重載使用方法詳解
