scala的内部类和外部类

 Scala内部类是从属于外部类对象的。

1、代码如下

[java]  view plain  copy
 print ?
  1. package com.yy.oop  
  2.   
  3. /** 
  4.  * 第一种方式 
  5.  * 在内部类通过【外部类.this.成员名称】 访问外部类成员 
  6.  */  
  7. class OuterClass(val name:String){  
  8.     
  9.    class InnerClass(val name:String){  
  10.        
  11.       def info = println("Outer name :" + OuterClass.this.name + ",Inner Name :" + name);  
  12.    }  
  13. }  
  14.   
  15. /** 
  16.  * 第二种方式 
  17.  * 在内部类通过【外部类别名】 访问外部类成员 
  18.  */  
  19. class OuterClass2(val name:String){  
  20.   outer =>  
  21.    class InnerClass2(val name:String){  
  22.        
  23.       def info = println("Outer name :" + outer.name + ",Inner Name :" + name);  
  24.    }  
  25. }  
  26.   
  27. object OuterAndInnerClassTest {  
  28.     
  29.   def main(args: Array[String]): Unit = {  
  30.       
  31.     println("第一种访问方式:")  
  32.     val outer1 = new OuterClass("yy")  
  33.     val inner1 = new outer1.InnerClass("xx")  
  34.     inner1.info  
  35.     println("第二种访问方式:")  
  36.     val outer2 = new OuterClass2("yy2")  
  37.     val inner2 = new outer2.InnerClass2("xx2")  
  38.     inner2.info  
  39.       
  40.   }  
  41. }  
2、结果如下:

[plain]  view plain  copy
 print ?
  1. 第一种访问方式:  
  2. Outer name :yy,Inner Name :xx  
  3. 第二种访问方式:  
  4. Outer name :yy2,Inner Name :xx2  

你可能感兴趣的:(scala的内部类和外部类)