scala内部类

31 阅读1分钟

在面向对象编程中,内部类是一个重要的概念,它允许我们在一个类的内部定义另一个类,从而更好地组织代码并体现类之间的包含关系。

什么是内部类?

内部类就是定义在另一个类(外部类)内部的类。与 Java 不同,Scala 中的内部类从属于外部类的实例,而不是外部类本身。这意味着不同外部类实例的内部类是不同的类型。

代码示例解析

package level02
/*
* 内部类
*
*/
object class14 {
  //外部类
  class Car() {
    var wheel: Int = 3

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

  def main(args: Array[String]): Unit = {
    val c1 = new Car();
    var eng = new c1.Engine()
    println(eng.power)
  }
}