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)
  }
}
相关推荐
还是大剑师兰特16 小时前
Scala面试题及详细答案100道(11-20)-- 函数式编程基础
scala·大剑师·scala面试题
华科云商xiao徐7 天前
响应式爬虫系统设计:Scala异步任务编排与弹性容错机制
爬虫·scala
ChipCamp11 天前
Chisel芯片开发入门系列 -- 18. CPU芯片开发和解释8(流水线架构的代码级理解)
开发语言·青少年编程·fpga开发·scala·dsp开发·risc-v·chisel
渣渣盟13 天前
Flink从Kafka读取数据的完整指南
flink·kafka·scala
ChipCamp16 天前
Chisel芯片开发入门系列 -- 14. CPU芯片开发和解释4(Load/Store指令再探)
arm开发·青少年编程·fpga开发·scala·dsp开发·risc-v·chisel
hweiyu0018 天前
Scala实用编程(附电子书资料)
开发语言·后端·scala
hweiyu0018 天前
Scala实现常用排序算法
开发语言·排序算法·scala
hweiyu0019 天前
学习Scala语言的最佳实践有哪些?
开发语言·学习·scala
金銀銅鐵20 天前
Scala 的缺省参数值 (default parameter value) 在 class 文件中是如何实现的?
scala
数据智能老司机24 天前
函数式事件驱动架构——交易系统(可观测性)
架构·scala·响应式设计