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
相关推荐
就叫_这个吧4 小时前
Java递归方法实现面包屑导航
java·开发语言
fīɡЙtīиɡ ℡5 小时前
AI 应用系统设计
java·开发语言·人工智能
AI绘画哇哒哒5 小时前
【建议收藏!】35岁后端血泪忠告,这3类人别硬转Agent(过来人亲述)
java·人工智能·后端·ai·程序员·大模型·agent
唐青枫6 小时前
一个值多种形态:Zig union、Tagged Union 与内存布局实战
后端
今天AI了吗6 小时前
Python 基础语法(一):常量、变量、输入输出与运算符
开发语言·数据库·人工智能·python·sql·深度学习·机器学习
卷无止境6 小时前
Windows 上丝滑开发 Python,并稳定构建 Docker 镜像
后端·python·docker
Nturmoils6 小时前
备份完不算完,先还原到临时库验一遍
后端
TELL5217 小时前
selenium webdriver 第二次初始化的异常
开发语言·python
Csvn7 小时前
📊 SQL 入门 Day 22:视图与物化视图
后端·sql
Csvn7 小时前
🐍 Day 4: Python 控制流 — 条件、循环与推导式的艺术
后端·python