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
相关推荐
Han_han91912 分钟前
常用API:
java·开发语言
minji...16 分钟前
Linux 线程同步与互斥(四) POSIX信号量,基于环形队列的生产者消费者模型
linux·运维·服务器·c语言·开发语言·c++
splage18 分钟前
Spring Cloud Data Flow 简介
后端·spring·spring cloud
woniu_maggie21 分钟前
SAP RESTful 接口服务发布教程
后端
用户2794208313222 分钟前
临时解决 Mac SSH 客户端与服务器算法不匹配问题
后端
小锋java123425 分钟前
LangChain4j 来了,Java AI智能体开发再次起飞。。。
java·人工智能·后端
一点一一25 分钟前
nestjs+langchain:Prompt Template
人工智能·后端
Highcharts.js26 分钟前
在 React 中使用 useState 和 @highcharts/react 构建动态图表
开发语言·前端·javascript·react.js·信息可视化·前端框架·highcharts
Oneslide30 分钟前
低版本kubernetes节点卡死重置恢复方法
后端
likerhood41 分钟前
java中的return this、链式编程和Builder模式
java·开发语言