Scala

39 阅读1分钟
1.private:私有的。不对外公布,不对外发布,在外面不可以访问,不可以被别人知道...
package leve01

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

    private def hobby(): Unit = {
      println(s"${hobbies}")
    }
    
    def sayHi():util = {
      println(s"${name},${age}")

      hobby()// 在类的内部,可以调用私有方法
    }
  }

  def main (array: Array[String]): Unit = {
    val stu = new Student("小明",19)
    stu.sayHi()
    // println(stu.hobbies)
    // stu.hobby() // 在类的外部,无法访问私有属性
  }

}
2.stu.hobby() // 在类的外部,无法访问私有属性
package leve01

object Class03 {
  //判断类和对象的关系? 亲子鉴定?

  // 方式1: 对象.getClass()   // 找爹
  // 方式2:  对象.isInstanceof[类]  // DNA对比
  class  Student(){}
  class  Teacher() {}

  def main(args:Array[String]):Unit = {
    val age:Int = 1

    val stu = new Student()
    // stu 是对象名
    // Student是类名
    //Stu是student类的实例

    //返回类名
    println(stu.getClass) // class level02.Class$Student
    println(age.getClass) // int

    //注意: [], 结果是boolean值
    println(stu.isInstanceOf[Student]) // true

    println(stu.isInstanceOf[Teacher]) // false
  }
}