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》第六章 对象 第七章 包和引入
随机推荐
- 检查xml文件
#coding=utf- import os import time def verify(filePath): print("verify--" + filePath) list ...
- [Sublime-Text] Linux下用Sublime-Text3编译输出Java文件
因为现在在借着经典的书籍巩固一些基础知识,所以会经常跑一些简单的程序,可又不想开庞大的IDE.所以就想试着用Sublime-Text来编译程序,哦,当然如果习惯的话,用 terminal 也可以.其实 ...
- Todolist分别用React与Vue的实现与思考
源码查看: React 版的TodoList=> 点击跳转 Vue 版的TodoList=> 点击跳转 用React实现的思路: React使用注重的思想是少用state,纯函数实现功能思 ...
- LeetCode题解之N-ary Tree Level Order Traversal
1.题目描述 2.问题分析 利用先进先出队列解决问题. 3.代码 vector<vector<int>> levelOrder(Node* root) { vector< ...
- python基础一数据类型之元祖
摘要: python基础一中写到数据类型元祖,那么这篇主要讲元祖. 1,元祖定义 tuple1 = (1,2,'a','b') 元祖是不可变数据,所以又名只读列表.那么如何让是元祖可变呢?可以在元祖中 ...
- Session["Write"] = "Write";
Session["Write"] = "Write"; 将Session使用起来,建立起回话,这样才能保证会话中保持SessionID不变,否者,如果你直接使用 ...
- Windows2003系统如何设置能让两个人共用一个桌面同时远程控制?
在windows 2003上,可以两人同时同一桌面控制一台服务器,交流非常方便. 解决方案: 两人都用终端远程登陆到服务器上,其中一人在“开始”--“管理工具”--“终端服务管理器”,选中对方的用户名 ...
- 在 Azure VM 中使用应用商店映像创建 HPC Pack 群集的头节点
使用 Azure 应用商店和 Azure 门户中的 Microsoft HPC Pack 2012 R2 虚拟机映像创建 HPC 群集的头节点. 此 HPC Pack VM 映像基于预安装了 HPC ...
- 忘了mysql密码咋么办?
一.已知mysql数据库root的密码,修改root的方法如下: 1. mysqladmin 命令直接修改: ~]#mysqladmin -u root -p password "newpa ...
- Windows 下的文件被占用问题解决
windows下,经常容易出现文件被其他程序占用的现象,令人十分头疼.更头疼的是,还看不到被谁占用. 实际上是有办法看到占用的进程的. 话不多说,以Win10为例: 1.打开资源监视器 a.直接程序栏 ...