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
相关推荐
Jasonakeke几秒前
SpringBoot自动配置原理揭秘
java·spring boot·后端
xiaoshuaishuai83 分钟前
C# AvaloniaUI动态显示图片
开发语言·c#
日光明媚17 分钟前
一步生成视频!One-Forcing:DMD + 零成本 GAN,训练 200 步超越多步 SOTA
android·开发语言·kotlin
2301_8035389528 分钟前
Java读取Word图片的两种实用方法
java·开发语言·word
IT_陈寒1 小时前
Vite热更新失灵?你可能漏了这个配置
前端·人工智能·后端
uzong1 小时前
面试官:如何做好架构设计
后端·架构
Cosolar2 小时前
QwenPaw Agent 实现原理深度剖析
后端·面试·架构
Sincerelyplz2 小时前
【AI会议纪要实践】mapReduce、RAG 与结构化输出
java·后端·agent
zavoryn2 小时前
后端接入 AI Agent:Tool Calling 网关、幂等与审计日志实战
后端·架构
bug和崩溃我都要2 小时前
Qt 封装 libmpv 全功能视频播放器开发指南
开发语言·qt·音视频