下面讓我們實踐 scala 中類的使用,為了方面後續**編寫,我們建立乙個新的工作區:
1 首先,建立乙個 person 類:
2 下面看一下 private[this] 的使用:
結果顯示,private[this] 定義後的內容無法在外部使用,這起到了非常好的保護作用
3 接下來看一下類的建構函式,首先我們看看主構造器的使用:
可以發現,scala 類中的主構造器有以下特點:
(1) 主構造器直接跟在類名後面,即主構造器在定義類的時候定義
主構造器中的引數會被編譯成類中的字段
(2) 主構造器執行時會執行類中的所有不包含在方法體中的語句。
3 接下來我們把主構造器中的 name 前面的 val 去掉執行一下:
可以發現,程式此時無法執行,這說明 scala 語言的主構造器具有以下非常重要的特性:
如果在主構造器函式的引數中沒有用 val 或者 var 去宣告變數,那麼此時的變數預設是 private[this] 級別的,只能被類內部訪問
4 接下來我們看看附屬構造器:
(1) 附屬構造器是用 this 來宣告的
(2) 附屬構造器中必須呼叫主構造器或者其他附屬構造器
scala的物件導向程式設計
一 簡單的程式設計 1.scala的簡單程式設計 1 packageer2 3class people 9 def watchfootball teamname string string 12 13object two 22 2.效果 3.構造方法 主構造方法,輔助構造方法。輔助建構函式是在主建構...
SCALA物件導向程式設計(二)
五 隱式轉換和隱式函式 5.1隱式轉換 implicit def a d double d.toint 先宣告隱式函式,宣告後就不用管,程式過不去,會自動查詢。val i1 int 3.5 ok 當發現程式有誤時,scala編譯器會嘗試在隱式函式列表中查詢可以進行轉換的函式 注意 5.2利用隱式轉換...
Scala基礎 物件導向程式設計示例
package com.spark.scala.basics 1.使用new classname 的方式構建出類的物件 2.如果名稱相同,則 object 中的內容都是 class 的靜態內容,在 object 中的內容 class 都可以在沒有例項的時候去直接呼叫 可以使用 object 中的特定...