调用私有方法

52 阅读1分钟
package level02

object Bases56 {
  class Student(val name:String, val age:Int) {
    // private: 私有的。不对外公布,不对外发布,在外面不可以访问。在家之外的地方,不可以被别人知道....
    private val hobbies:String = "躲在被子,打手电看恐怖小说"

    private def hobby(): Unit = {
      println(s"${hobbies}")
    }

    def sayHi(): Unit = {
      println(s"${name}, ${age}")
      hobby() // 在类的内部,可以调用私有方法
    }
  }

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

输出结果

image.png

package level02

object Base59 {
  // 判断类和对象的关系?亲子鉴定?
  // 方式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.Class03$Student
    println(age.getClass) // int

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

输出结果

image.png

Scala 融合面向对象与函数式编程,用简洁语法实现强大功能,如val list = List(1,2,3); list.map(_*2).foreach(println)展现其优雅高效。