scala的属性访问权限

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

默认访问权限;protected访问权限;private访问权限;private[this]访问权限

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)
  }
}
相关推荐
进击的雷神17 小时前
Perl语言深度考查:从文本处理到正则表达式的全面掌握
开发语言·后端·scala
进击的雷神17 小时前
Perl测试起步:从零到精通的完整指南
开发语言·后端·scala
旋风小飞棍4 天前
如何在sheel中运行spark
大数据·开发语言·scala
rylshe13144 天前
在scala中sparkSQL连接mysql并添加新数据
开发语言·mysql·scala
MZWeiei5 天前
Spark任务调度流程详解
大数据·分布式·spark·scala
бесплатно6 天前
Scala流程控制
开发语言·后端·scala
Bin Watson13 天前
解决 Builroot 系统编译 perl 编译报错问题
开发语言·scala·perl
什么芮.16 天前
大数据应用开发和项目实战(2)
大数据·pytorch·sql·spark·scala
不要天天开心17 天前
Spark-Streaming核心编程:有状态转化操作与DStream输出
scala
欧先生^_^18 天前
Scala语法基础
开发语言·后端·scala