1. 程式人生 > >Scala 內部類及外部類

Scala 內部類及外部類

 Scala內部類是從屬於外部類物件的。

1、程式碼如下

package com.yy.oop

/**
 * 第一種方式
 * 在內部類通過【外部類.this.成員名稱】 訪問外部類成員
 */
class OuterClass(val name:String){
  
   class InnerClass(val name:String){
     
      def info = println("Outer name :" + OuterClass.this.name + ",Inner Name :" + name);
   }
}

/**
 * 第二種方式
 * 在內部類通過【外部類別名】 訪問外部類成員
 */
class OuterClass2(val name:String){
  outer =>
   class InnerClass2(val name:String){
     
      def info = println("Outer name :" + outer.name + ",Inner Name :" + name);
   }
}

object OuterAndInnerClassTest {
  
  def main(args: Array[String]): Unit = {
    
    println("第一種訪問方式:")
    val outer1 = new OuterClass("yy")
    val inner1 = new outer1.InnerClass("xx")
    inner1.info
    println("第二種訪問方式:")
    val outer2 = new OuterClass2("yy2")
    val inner2 = new outer2.InnerClass2("xx2")
    inner2.info
    
  }
}
2、結果如下:
第一種訪問方式:
Outer name :yy,Inner Name :xx
第二種訪問方式:
Outer name :yy2,Inner Name :xx2