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 分钟前
突发,Claude Code 源码意外泄漏!
后端
掘金者阿豪4 分钟前
2026全球视觉理解大模型盘点:国内外TOP20排行榜与技术格局
人工智能·后端
lsx2024065 分钟前
Bootstrap4 导航栏详解
开发语言
cool32008 分钟前
Kubernetes集群节点扩容实战-kubeasz
java·开发语言·kubernetes
liulilittle11 分钟前
OPENPPP2 CTCP 协议栈 + 内置 TC Hairpin NAT 内核态程序
c语言·开发语言·网络·c++·信息与通信·通信
稻草猫.12 分钟前
Spring AOP
java·后端·spring·java-ee·idea
阿聪谈架构16 分钟前
第06章:AI RAG 检索增强生成 — 从零到生产(下)
人工智能·后端
NCIN EXPE21 分钟前
SpringBoot教程(三十二) SpringBoot集成Skywalking链路跟踪
spring boot·后端·skywalking
yhyyht22 分钟前
JVM调优学习笔记(一)
后端
lagrahhn24 分钟前
python面向对象中__new__和__init__区别
后端·python·程序员