scala的属性访问权限

scala的属性访问权限有四种:

默认访问权限;protected访问权限;private访问权限;privatethis访问权限

Scala 复制代码
package Test1104
//访问控制权限

//                  类的内部方法   伴生对象中的方法  类的外部(对象,访问)  子类对象,访问   子类方法是否可以访问    另一个对象的属性
//默认权限(pubilc)       可             可              可               可                可                  可
//private               可             可             不可               不可             不可                不可
//protected             可             可             不可               不可              可                 不可
//private[this]         可             不可            不可              不可             不可                 不可

class Student{
  //1.默认权限。类似于java中的public
  val name = "小花"

  //2.私有属性。类的内部。不能继承!
  private val score = 59

  //3.受保护的.可以继承!
  protected val car = "宝马香车"

  def say():Unit ={
    println(name,score,car)
  }
}

object Student{
  def run(obj: Student): Unit = {
    println(obj.name, obj.score, obj.car)
  }
}
//子类
class SubStudent extends Student{
  def test():Unit ={
    println(this.name,this.car)
  }
}

object Test1104 {
  def main(args: Array[String]): Unit = {
    val s = new Student()
    println(s)
    val s1 = new SubStudent()
    println(s1)
  }
}
相关推荐
starzy19909 小时前
深入理解Scala Map:从实现原理到工程实践
开发语言·后端·scala
starzy19901 天前
Scala 可变 Set 操作:从性能问题到最佳实践
大数据·scala
starzy19902 天前
Scala Set深度解析:为什么大数据开发离不开它?
大数据·开发语言·scala
starzy19903 天前
Scala List操作:不可变链表的函数式美学
链表·list·scala
starzy19904 天前
Scala String操作:从插值器到正则的完整指南
开发语言·后端·scala
starzy19904 天前
Scala Array操作:从定长数组到ArrayBuffer的完整指南
开发语言·后端·scala
starzy19905 天前
Scala循环与判断:一切皆表达式的控制流
开发语言·人工智能·scala
starzy19905 天前
Scala类和对象:从构造器到样例类的完整指南
开发语言·后端·scala
Nefu_lyh16 天前
【Spark】02Spark 下载和入门:环境配置、简单的Spark独立应用(Scala版)
大数据·spark·scala
码爸1 个月前
多源异构数据库实时同步至 Doris
数据库·flink·scala