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》
Scala--包和引入的更多相关文章
- Scala学习(七)---包和引入
包和引入 摘要: 在本篇中,你将会了解到Scala中的包和引入语句是如何工作的.相比Java不论是包还是引入都更加符合常规,也更灵活一些.本篇的要点包括: 1. 包也可以像内部类那样嵌套 2. 包路径 ...
- Scala学习七——包和引入
一.本章要点 包也可也可以像内部类那样嵌套 包路径不是绝对路径 包声明链x.y.z并不自动将中间包x和x.y变成可见 位于文件顶部不带花括号的包声明在整个文件范围内有效 包对象可以持有函数和变量 引入 ...
- Scala包
#引入包的全部成员的办法 import scala.collection._ #引入同一个包中的几个成员 import scala.collection.{A,B} #重名 要 重命名 import ...
- Ch07 包和引入 - 练习
1. 编写示例程序,展示为什么 package com.horstmann.impatient 不同于 package com package horstmann package impatien ...
- [转]myeclipse 生成JAR包并引入第三方包
myeclipse 生成JAR包并引入第三方包 我用的是myeclipse8.0 首先用myeclipse生成JAR 一.生成JAR包 1.点选项目右键—>Export 2.Java—>J ...
- idea没有代码自动提示功能和包自动引入不了问题
idea没有代码自动提示功能和包自动引入不了问题 原因:节电模式 File -> Power Save Mode (被勾选了) 处理方法: File -> Power Save Mode ...
- Scala包和引用
1.包 Scala包的命名方式有两种.一种和Java一样,通过把package子句放在文件顶端的方式,把整个文件的内容放进包里.如: package scala.actors.Actor 另一种方式可 ...
- myeclipse从SVN上拉项目,各种报错,jar包没有引入
问:项目中myeclipse从SVN上拉项目,各种报错,jar包没有引入 答: 从SVN拉项目步骤一定不能出错,一有点差异就会出非常多的事情 1-右键项目checkout的时候 第一页选默认值就行 点 ...
- IDEAidea导入Scala包
IDEAidea导入Scala包 一.配置windows的scala的环境变量 二.IDEA导入scala插件 1.如图步骤导入IDEA的scala插件 三.添加本地的scala目录 这时候我们应该在 ...
- 《快学Scala》第六章 对象 第七章 包和引入
随机推荐
- 转:Drupal 如何得到字段的值?
原文地址:Drupal 如何得到字段的值? 直接的方法如下: $node = node_load($nid); $field_val = $node->field_name['und'][0][ ...
- Intellij IDEA添加项目依赖
在idea的设置中,存在下面几个标签页 Libraies是向idea中添加的jar或者文件夹进入. module是添加具体的项目依赖,后面的选项为部署时是否忽略. artifacts配置打包方式,需要 ...
- 解决stackoverflow打开缓慢的问题
一.原因: 因为stackoverflow用的是谷歌的api,在国内谷歌是被禁用的,所以才会打开缓慢,并不是stackverflow被墙 二.解决方法: 1.如果你正在使用的是火狐浏览器,那么请按照下 ...
- MyBatis与JDBC连接数据库所使用的url之间的差异
在Windows7 系统上安装了MySQL 8.0,然后创建Maven工程,配置pom.xml文件,添加了如下依赖: <dependency> <groupId>org.myb ...
- KCF跟踪算法 入门详解
一.算法介绍 KCF全称为Kernel Correlation Filter 核相关滤波算法.是在2014年由Joao F. Henriques, Rui Caseiro, Pedro Martins ...
- 语义SLAM的数据关联和语义定位(三)
与现有方法的异同 特征点SLAM中的数据关联 先回忆一下特征点SLAM中,我们是如何处理数据关联的.下面以ORBSLAM为例. 在初始化部分,我们通过特征描述子的相似性,建立两帧之间的特征点关联,然后 ...
- 闲聊jQuery(一)
Write less, do more. 这便是jQuery的宗旨!jQuery,一个高效.精简并且功能丰富的 JavaScript 工具库. 想必,对于每一个前端开发者,一定用过jQuery吧!俗话 ...
- python自学——文件修改
#如何修改文件,我们知道文件因为在磁盘上已经有储存了,后面要更新或修改,只能在在原来文件后面追加使用f=open("wenjian_name","r+",enc ...
- cisco查看机框 板卡 电源 SN 风扇环境运行状态和一些常用命令 巡检命令
查看设备运行环境及状态 show environment 查看设备环境show environment temperature --查设备温度 show environment fans --查看设备 ...
- MySQL生产环境下的主从复制启动项
MySQL的复制参数除了我们之前搭建主从时遇到的那几个之外,还有以下两个: 1.log-slave-updates 这个参数用来配置从库上是否启动了二进制日志的功能,默认是不开启的,如果开启了那么从库 ...