大數據 -- Scala:面向對象編程之類

類的定義:

package com

import java.util.Date

class Customer {
  // _  表示使用默認值進行初始化 ; 
  //String -- null , Int -- 0  , Boolean --  false
  //val變量不能使用_來初始化
  var name:String = _
  var sex:String = _
  var registerDate = new Date

  def sayHi(msg:String) = {
    println(msg)
  }
}

//main方法必須要放在一個Scala的object(單例對象)中才能執行
object Main{
  def main(args: Array[String]): Unit = {
    val customer = new Customer
    customer.name = "guettp"
    customer.sex = "man"

    println(s"name:${customer.name}")
    customer.sayHi("hello")
  }
}

類的構造器:

主構造器:主構造器是指在類名的後面跟上一些列參數 ,例如  class Student(val name:String,val age:Int){}

輔助構造器:在類中使用this來定義  ,例如 def this(age:Int)

class Student(val name:String, val age:Int) {

  val address:String="beijing"
  // 定義一個參數的輔助構造器
  def this(name:String) {
    // 第一行必須調用主構造器、其他輔助構造器或者super父類的構造器
    this(name, 20)
  }

  def this(age:Int) {
    this("某某某", age)
  }
}

 

發佈了124 篇原創文章 · 獲贊 5 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章