内部类

2 阅读1分钟

内部类

一,内部类的定义

定义在类或者对象内部的类称为内部类。

在类的内部有:属性,方法,类。

object day69 { class Car() { var wheel:Int=3

def run():Unit = {
  println("run....")
}
// 内部类
class Engin() {
  val power:Int = 12

}

}

def main(args: Array[String]): Unit = { val c1 = new Car();

var eng = new c1.Engin()

println(eng.power)

} }


### 二,内部类的基本使用

定义格式: class 类 {  class 内部类 }

使用格式: new 类的实例.内部类()

内部类的好处:  
(1)逻辑组织:引擎与 汽车紧密相关,它们都属于汽车的上下文。将它们作为内部类可以使代码更为整洁和逻辑清晰。

(2)简化访问:内部类能够方便地访问外部类的私有成员,这样引擎类可以操作汽车的速度而不需要通过外部接口。

(3)减少命名冲突:由于内部类的作用范围限制在外部类内,避免了名称冲突(在大型项目中,可能会有多个引擎类)。

/* *

  • 内部类
  • 1,在一个类的里面,再写一个类
  • 2,作用:组织逻辑更加严谨;避免命名的冲突

*/ object day70 { // 外部类 class Car() { var wheel:Int = 3 // 私有成员 private var speed:Int = 0

def run():Unit = {
  println(s"速度为: ${speed}, run....")
}
// 内部类
class Engin() {
  def acc(increment:Int):Unit = {
    speed += increment
  }
}
class AutoPark(){}

}

def main(args: Array[String]): Unit = { val c1 = new Car(); // c1.speed //私有成员不能访问 c1.run() val en = new c1.Engin() en.acc(10) c1.run() } }