//伴生對象,伴生類里的私有屬性的 使用范圍,擴大了。
//伴生對象 與 伴生類可以互相訪問彼此的私有屬性,而普通私有屬性僅僅只能在自己類里使用的

package com.xej.learning.objectLearning

/**
  * objectLearning 測試
  */
private[objectLearning] class Kafka(val name: String){
  
   //目的:測試多次調用object時,其主構造方法調用幾次
   def sayHello(): Unit ={
      objectTest.name
      objectTest.name
      objectTest.name
      println(--------------------)
   }
}
object objectTest {
   val name = spark
  
   println(----object----主構造器--------)
  
   def main(args: Array[String]): Unit = {
      new Kafka(spark).sayHello()
   }
}

 執行結果如下:

----object----主構造器--------
--------------------

測試用例二:

package com.xej.learning.objectLearning

/**
  * 主要測試伴生對象,伴生類里的私有屬性的訪問范圍
  */
private[objectLearning] class Student(val name: String, val age: Int, address: String=xizhimen){
  
   private val sex = male
   val weight = 80
  
   def sayHello(): Unit ={
      Student.address = address
      //訪問伴生對象里的普通屬性 以及 私有屬性
      println(name:\\\\t   name    ---->     age:\\\\t   age  
         \\\\naddress:\\\\t   Student.address    ----> school:\\\\t   Student.school)
   }
}

object Student{
   //伴生對象里的私有屬性 跟 普通的私有屬性 相比?
   //伴生對象,伴生類里的私有屬性的 使用范圍,擴大了。
   //伴生對象 與 伴生類可以互相訪問彼此的私有屬性,而普通私有屬性僅僅只能在自己類里使用的
   private val school = bjtu //只能在伴生類里,調用,其他地方不能調用

   var address = beijing //除了伴生類里,其他地方也可以調用,跟普通屬性一樣
   
   //訪問伴生類里的屬性
   val stu = new Student(lisi,22, haidian)
   
   println(----訪問----伴生類里的---屬性-----name:\\\\t   stu.name)
   println(----訪問----伴生類里的---私有屬性-----sex:\\\\t   stu.sex)
   println(----訪問----伴生類里的---屬性-----weight:\\\\t   stu.weight)
}

object objectTest2 {
   def main(args: Array[String]): Unit = {
      //調用伴生對象里的public屬性
      println(----address:\\\\t   Student.address)

      //school是伴生對象的私有屬性,這里不能訪問的
      //println(----school:\\\\t   Student.school)
      new Student(zhansan, 19).sayHello()
      new Student(xiaoming, 22,haidian).sayHello()
   }
}

測試結果:

----訪問----伴生類里的---屬性-----name:	lisi
----訪問----伴生類里的---私有屬性-----sex:	male
----訪問----伴生類里的---屬性-----weight:	80
----address:	beijing
name:	zhansan ---->  age:	19
address:	xizhimen ----> school:	bjtu
name:	xiaoming ---->  age:	22
address:	haidian ----> school:	bjtu

Process finished with exit code 0

總之:

    看到伴生對象,伴生類,要立馬想到私有屬性

    伴生對象的使用場景,也就是說,伴生對象是干什么用的,這樣的話,對于理解marathon源碼,spark源碼是有幫助的,不至于一頭霧水。

更多關于云服務器域名注冊,虛擬主機的問題,請訪問三五互聯官網:m.shinetop.cn

贊(0)
聲明:本網站發布的內容(圖片、視頻和文字)以原創、轉載和分享網絡內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。郵箱:3140448839@qq.com。本站原創內容未經允許不得轉載,或轉載時需注明出處:三五互聯知識庫 » 每天學一點Scala之 伴生類和伴生對象

登錄

找回密碼

注冊

主站蜘蛛池模板: 国产片AV国语在线观看手机版| 国产91精品一区二区蜜臀| 亚洲乱码日产精品一二三| 久久一级黄色大片免费观看| 日韩精品一区二区三区中文| 小婕子伦流澡到高潮h| 久久不见久久见免费影院www日本 亚洲综合精品一区二区三区 | 日韩AV高清在线看片| 精品中文人妻中文字幕| 肥大bbwbbw高潮抽搐| 和平区| 亚洲熟少妇一区二区三区| 亚洲丶国产丶欧美一区二区三区| 亚洲av色香蕉一二三区| 日本高清在线观看WWW色| 免费看欧美全黄成人片| 中文国产成人精品久久不卡| 精品久久综合日本久久网| 亚洲无线码一区二区三区| 99九九视频高清在线| 久久综合香蕉国产蜜臀av| 老熟妇乱子交视频一区| 在线无码免费看黄网站| 中文字幕亚洲精品第一页| 精品久久久久久无码国产| 国产亚洲精品久久久久久无亚洲 | 国产亚洲一在无在线观看| 精品国产乱码久久久久乱码| 中文字幕无码视频手机免费看 | 国产精品中文字幕av| 亚洲欧美高清在线精品一区二区| 又爽又黄又无遮挡的激情视频| 亚洲AV成人无码精品电影在线| 99久久亚洲综合精品成人网| 久久精品国产www456c0m| 亚洲码亚洲码天堂码三区| 永久无码天堂网小说区| 中国CHINA体内裑精亚洲日本| 日韩久久久久久中文人妻| 蜜桃视频一区二区在线观看| 成人一区二区三区在线午夜 |