Scala 面向對象(七):靜態屬性和靜態方法


1 Scala中靜態的概念-伴生對象

Scala語言是完全面向對象(萬物皆對象)的語言,所以並沒有靜態的操作(即在Scala中沒有靜態的概念)。

但是為了能夠和Java語言交互(因為Java中有靜態概念),就產生了一種特殊的對象來模擬類對象,我們稱之為類的伴生對象

這個類的所有靜態內容都可以放置在它的伴生對象中聲明和調用

伴生對象的快速入門

伴生對象的小結

1)Scala中伴生對象采用object關鍵字聲明,伴生對象中聲明的全是 "靜態"內容,可以通過伴生對象名稱直接調用。

2)伴生對象對應的類稱之為伴生類,伴生對象的名稱應該和伴生類名一致。

3)伴生對象中的屬性和方法都可以通過伴生對象名(類名)直接調用訪問

4)從語法角度來講,所謂的伴生對象其實就是類的靜態方法和成員的集合

5)從技術角度來講,scala還是沒有生成靜態的內容,只不過是將伴生對象生成了一個新的類,實現屬性和方法的調用。

6)從底層原理看,伴生對象實現靜態特性是依賴於 public static final MODULE$ 實現的。

7)伴生對象的聲明應該和伴生類的聲明在同一個源碼文件中(如果不在同一個文件中會運行錯誤!),但是如果沒有伴生類,也就沒有所謂的伴生對象了,所以放在哪里就無所謂了。

8)如果 class A 獨立存在,那么A就是一個類, 如果 object A 獨立存在,那么A就是一個"靜態"性質的對象[即類對象], 在 object A中聲明的屬性和方法可以通過 A.屬性 和 A.方法 來實現調用

9)當一個文件中,存在伴生類和伴生對象時,文件的圖標會發生變化

 

 

伴生對象-apply方法

在伴生對象中定義apply方法 ,可以實現: 類名(參數) 方式來創建對象實例.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM