目录

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
本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
末央&2 分钟前
【C++】Stack和Queue的底层封装和实现
开发语言·c++
倚栏听风雨6 分钟前
插件-存储全局应用级别的用户数据 ApplicationManager.getApplication().putUserData
后端
CrabKA8 分钟前
Go-zero:JWT鉴权方式
开发语言·后端·golang
beolus9 分钟前
MindIE Torch快速上手
人工智能·后端
lcf_zhangxing9 分钟前
高效调试 Odoo 代码:Visual Studio Code + launch.json 配置指南
后端
martian66515 分钟前
C++异步编程从入门到精通实战:全面指南与实战案例
开发语言·c++·性能优化
青丝挽来生*18 分钟前
继承-C++
开发语言·c++
努力学习的小廉18 分钟前
【C++】 —— 笔试刷题day_18
开发语言·c++·算法
uhakadotcom31 分钟前
PyTorch 2.0 一行代码加速模型,简单易懂的基础介绍和实用示例
后端·面试·github
倚栏听风雨33 分钟前
ApplicationManager.getApplication().getService 作用
后端