柚子快報(bào)邀請碼778899分享:scala 13
柚子快報(bào)邀請碼778899分享:scala 13
文章目錄
1.伴生對象1.1 scala的一個(gè)性質(zhì),scala文件中的類都是公共的;1.2 scala使用object關(guān)鍵字也可以聲明對象;
3.關(guān)于伴生對象和類4.權(quán)限修飾符,scala僅有private;5.伴生對象可以訪問伴生類中的私有屬性;6.案例7.伴生對象調(diào)用小結(jié)
1.伴生對象
概念:存在一個(gè)類,存在一個(gè)對象,類和對象相互存在,互為伴生的關(guān)系。
Scala中**同一個(gè)文件中;**名稱相同的類和對象他倆就互為伴生;
作用:完善對象和類相輔相成的作用;
定義:object修飾的類;
1.1 scala的一個(gè)性質(zhì),scala文件中的類都是公共的;
Java僅允許一個(gè)public 類存在;
scala源碼中所有的聲明的類都可以public
1.2 scala使用object關(guān)鍵字也可以聲明對象;
class Teacher(val name:String,val age:Int){
}
object Teacher{
}
//Java中一個(gè)類既要有自己的屬性值,也要有自己的工具類等;
3.關(guān)于伴生對象和類
類中放入屬性值;對象放入工具類,常量;
4.權(quán)限修飾符,scala僅有private;
private val name; //僅自己可以用
5.伴生對象可以訪問伴生類中的私有屬性;
6.案例
對象中定義的方法和常量可以直接加載,當(dāng)實(shí)例化對象的時(shí)候;
一般將靜態(tài)方法屬性聲明在object中,成員方法和屬性聲明在class類中;
IDEA動(dòng)態(tài)變化
7.伴生對象調(diào)用
//Scala獨(dú)有方式 object伴生對象,且對象中存在apply方法即可使用 繁瑣
val user1 = User.apply() //如果
目前我的編譯器已經(jīng)無法動(dòng)態(tài)識(shí)別apply()
不建議使用
最終結(jié)果:
小結(jié)
1.伴生對象指的是類和對象的一種相輔相成;
2.將方法(靜態(tài)),常量放入伴生對象中,每當(dāng)該實(shí)例進(jìn)行創(chuàng)建,伴生對象中的內(nèi)容自動(dòng)進(jìn)行加載,類可以直接調(diào)用和使用;
3.伴生對象一定在同一個(gè)文件下,且名字相同;
4.私有屬性的定義 private var xxx
5.伴生對象可以直接訪問類的私有屬性;
6.將靜態(tài)方法屬性聲明在object中,成員方法和屬性聲明在class類中;
柚子快報(bào)邀請碼778899分享:scala 13
文章來源
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。