scala中的内部类

36 阅读1分钟

内部类的定义

定义在类或者对象内部的类称为内部类。 在类的内部有:属性,方法,类。

内部类的基本使用

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

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

在Car类中,再次定义Engine类

内部类的好处

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

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

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

package t2
//内部类
//1.实例化内部类的对象?
//  val 外部类的对象=new 外部类();
//  val 内部类的对象=new外部类的对象.内部类()



object test16 {

    //外部类
    class Class1() {

      //写在c1内部的类
      class Class2() {
        def test(): Unit = {
          println("test...")
        }
      }
    }


    def main(args: Array[String]): Unit = {
      val c1 = new Class1()
      val c2 = new c1.Class2()
      c2.test()
    }
  }

image.png