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
相关推荐
以太浮标5 分钟前
华为eNSP模拟器综合实验之-BGP路由协议的配置解析
服务器·开发语言·php
为自己_带盐10 分钟前
从零开始玩转 Microsoft Agent Framework:我的 MAF 实践之旅-第二篇
后端·microsoft·ai·.net
宠..28 分钟前
优化文件结构
java·服务器·开发语言·前端·c++·qt
源码梦想家40 分钟前
多语言高性能异步任务队列与实时监控实践:Python、Java、Go、C++实战解析
开发语言·python
乌日尼乐41 分钟前
【Java基础整理】java数组详解
java·后端
百***78751 小时前
Gemini 3.0 Pro与2.5深度对比:技术升级与开发实战指南
开发语言·python·gpt
想用offer打牌1 小时前
一站式讲清IO多路复用(轻松愉悦版)
后端·面试·操作系统
嘻哈baby1 小时前
网络延迟与丢包问题排查实战
后端
wjs20241 小时前
C# 命名空间(Namespace)
开发语言
CoderIsArt1 小时前
基于iSCSI的光存储软件架构设计 (Windows + Qt版本)
开发语言·windows·qt