Scala内部类的运用

内部类:定义在类里面的类(内部类可以访问私有成员用它来操作类的私有成员,封闭性更好)

Scala 复制代码
class Student{
  var age=18
  def say():Unit={

  }
  class Book{
    val bookName: Any = "Scala程序设计"
    }
  }

object Test19 {
  def main(args: Array[String]): Unit = {
    val s1=new Student()
    val book1=new s1.Book()

    println(book1.bookName)
  }

}



输出:Scala程序设计
Scala 复制代码
class Car2 {
  private var speed=100
  val color="red"
  //
  class Engin(var maxSpeed:Int){
    def acc():Unit={
      speed+=10
      if (speed>maxSpeed){
        speed=maxSpeed
      }
      println("speed",speed)
    }
    def sub():Unit={
      speed-=10
    }
  }

  override def toString: String = {

    s"当前的速度是${speed}"
  }
}
object Test19_1{
  def main(args: Array[String]): Unit = {
    val c=new Car2()
    var engin=new c.Engin(maxSpeed=120)
    engin.acc()
    engin.acc()
    engin.acc()
    println(c)
    engin.sub()
    println(c)

  }

}

输出:(speed,110)
(speed,120)
(speed,120)
当前的速度是120
当前的速度是110
相关推荐
前进的李工3 分钟前
MySQL用户管理与权限控制指南(含底层架构说明)
开发语言·数据库·sql·mysql·架构
少司府8 分钟前
C++基础入门:类和对象(中)
c语言·开发语言·c++·类和对象·运算符重载·默认成员函数
用户693717500138415 分钟前
Android 开发,别只钻技术一亩三分地,也该学点“广度”了
android·前端·后端
gogogo出发喽21 分钟前
使用Pear Admin Flask
后端·python·flask
橘子编程21 分钟前
操作系统原理:从入门到精通全解析
java·linux·开发语言·windows·计算机网络·面试
唔6623 分钟前
原生 Android(Kotlin)仅串口「继承架构」完整案例二
android·开发语言·kotlin
错把套路当深情24 分钟前
Kotlin 全方向开发技术栈指南
开发语言·kotlin
飞Link30 分钟前
LangGraph 核心架构解析:节点 (Nodes) 与边 (Edges) 的工作机制及实战指南
java·开发语言·python·算法·架构
hhhhhaaa33 分钟前
SpringBoot 自定义参数解析器实现请求统一封装实践
后端
何陋轩43 分钟前
Java线程池从入门到精通:框架自带 vs 自定义,我该怎么选?
后端