zoukankan      html  css  js  c++  java
  • scala 内部类

    scala内部类不同于java内部类, java类中内部类从属于外部类,而scala的内部类从属于外部类对象

    /**
    * 第一种方式
    * 在内部类通过 外部类.this.成员名称 访问外部类成员
    */

    class Outer1(val name : String){
      outer2 => class Inner(val name : String){
    def info(b: Inner)= println("Outer : " + outer2.name + ",inner : " + b.name)
    }
    }
    /**
    * 第二种方式
    * 在内部类通过【外部类别名】 访问外部类成员
    */
    class Outer1(val name : String){
    outer2 => class Inner(val name : String){
    def info(b: Inner)= println("Outer : " + outer2.name + ",inner : " + b.name)
    }
    }
    object OutPutResult{
    def main(args: Array[String]): Unit ={
    val outer = new Outer("spark")
    val outer1 = new Outer1("hadoop")
    val inner = new outer.Inner("scala")
    val inner1 = new outer1.Inner("java")
    //这里inner1的foo不能引用inner2,inner2也不能引用inner1
    //也就是说inner1是从属于inner1这个实例的。因为你new的时候用的是outer1,并且赋值给了inner1.
        inner.info
    inner1.info(inner1)
    }
    }
  • 相关阅读:
    串学习笔记
    C深度剖析学习笔记
    记英语单词ag
    树学习笔记
    如何做好项目总结
    易学队第二次团队会议
    易学队第四次团队会议
    易学队第五次团队会议
    易学队第一次团队会议
    易学队第三次团队会议
  • 原文地址:https://www.cnblogs.com/houji/p/7696072.html
Copyright © 2011-2022 走看看