zoukankan      html  css  js  c++  java
  • Scala--包和引入

    一、包

    同一个包可以定义在多个文件中,你也可以在同一个文件中定义多个包

    文件名为:pack.scala

    package com{
      package scala{
        package test{
          class pack {
            println("This is pack")
          }
          class pack1{
            println("This is pack1")
          }
        }
      }
    }

    在其他文件中可以引用该包的类

      import com.scala.test.pack
    
      val p = new pack
      val p1 = new pack1

    目录和包没有关联关系

    二、作用域规则

    使用绝对包名:new _root_.scala.collection.mutable.ArrayBuffer[Int]

    三、串联式包语句

    package com.scala.test{
      
    }

    com 和 com.scala 不可见

    四、文件顶部标记法

    顶部标记,不使用{}

    package com.scala
    package test
    
    class pack{
      println("This is pack")
    }
    
    class pack1{
      println("This is pack1")
    }

    com.scala的内容是可见的,com的内容是不可见的

    五、包对象

    package com.scala.test
    
    package object people{
      val defaultName = "John"
    }
    
    package people{
      class Persion{
        var name = defaultName   // 从包对象拿到的常量
      }
    }

    package object

    六、包可见性

    七、引入

    import java.awt._

    _和java中的*类似

    八、任何地方都可以声明引入

    import语句可以出现在任何地方

    九、重命名和隐藏方法

    想引入包中的几个成员,可以使用选取器{}

    import java.awt.{color, font}

    重命名=>

    import java.util.{HashMap => JavaHashMap}   // HashMap重命名为JavaHashMap
    import scala.collection.mutable._           // 后续使用HashMap对应scala.collection.mutable.hashmap

    隐藏 =>_

      import java.util.{HashMap =>_ , _}
      import scala.collection.mutable._

    十、隐式引入

    每个scala程序都默认引入如下包

      import java.lang._
      import scala._
      import Predef._

    参考《快学Scala》

  • 相关阅读:
    史上最详细 Linux 用户与用户组知识
    MySQL -2- 体系结构--随笔小记
    MySQL -2- 体系结构
    MySQL -1- 简介及安装
    MySQL -0- 课程大纲及课程链接
    探索Windows命令行系列(4):通过命令操作文件和文件夹
    探索Windows命令行系列(3):命令行脚本基础
    探索Windows命令行系列(2):命令行工具入门
    探索Windows命令行系列(1):导航目录
    Oracle 分页方法研究
  • 原文地址:https://www.cnblogs.com/one--way/p/5801766.html
Copyright © 2011-2022 走看看