// 包和引入
// 包也可以像内部类那样嵌套
// 包路径不是绝对路径
// 包声明链x.y.x并不自动 将中间包x和x.y变成可见
// 位于文件顶部不带花括号的包声明在整个文件范围内有效
// 包对象可以持有函数和变更
// 引入语句可以引入包、类和对象
// 引入语句可以出现在任何位置
// 引入语句可以重命名和隐藏特定成员
// java.lang、scala和predef总是被引入 // 7.1 包
package com {
package ooccp {
package www { }
}
} // 可以在一个文件当中包含多个包的内容
package com {
package ooccpp {
package test{ }
}
}
package org {
package ooccpp {
package test{ }
}
} // 7.2 包的作用域规则
package com {
package ooccpp{
object Utils {
def percentOf(value: Double, rate: Double) = value * rate / 100
}
package sswss {
class Employee {
var salary = 0
def giveRaise(rate: Double): Unit = {
salary += Utils.percentOf(salary,rate) // 使用绝对包名
val subordinates = new _root_.scala.collection.mutable.ArrayBuffer[Int]
}
}
}
}
} // 7.3 串联式包语句
package com.ooccpp.www {
// com和com.ooccpp的成员在这里不可见
package Person { }
} // 7.4 文件顶部标记法
/**
* package com.ooccpp.www
* package aa
* 等同于
* package com.ooccpp.www{
* package aa{
*
* }
*/ // 7.5 包对象
// 包可以包含类、对象和特质,但不能包含函数或变量的定义。
/**
* package com.horstmann.impatient
* package object people {
* val defaultname = "John Q. public"
* }
* package people {
* class Person{
* var name = defaultname // 从包对象拿到的常量
* }
* }
* defaultName不需要加限定词,因为它位于同一个包内。在其它地方,这个常量可以用绝对路径访问到。
*/ // 7.6 包可见性
/**
* package com.ooccpp.www.people
* class Person{
* private[people] def description = "A person with name" + name
* }
* 可以将可见度延展到上层包
* private[www] def description = "A person with name" + name
*/ // 7.7 引入
// 引入语句可以使用短名称而不是绝对路径
import java.awt.Color
// 引入某个包的全部成员
import java.awt._
// 引入类或对象的所有成员
import java.awt.Color._

chapter07的更多相关文章

  1. Chapter07 链表(下):如何轻松学出正确的链表代码?

    技巧一:理解指针或引用的含义 技巧二:指针丢失和内存泄漏 技巧三:利用哨兵简化实现难度 技巧四:重点留意边界条件处理 如果链表未空时,代码是否能够正常运行 如果链表只包含一个节点时,代码能否正常运行 ...

  2. django表单

    一.主要内容 1.服务端获取HttpRequest信息        1)url相关信息        2)HttpRequest.META中包含的键值对        3)HttpRequest中用 ...

  3. web初学之JavaBean

    JavaBean 1.javaBean类:特殊的java类,以封装和重用为目的.通常JavaBean与Jsp搭配使用构成JavaBean技术. (1)JavaBean的规范: ●JavaBean是个公 ...

  4. markdown to html

    /************************************************************************* * markdown to html * 说明: ...

  5. 【Python】django表单与提交

    参考:http://djangobook.py3k.cn/2.0/chapter07/ 本文的内容应属于django的表单模块,没有涉及到的后端request对象的处理方法可以单独深入学习表单. UR ...

  6. LFS7.4编译笔记(3)

    在第一部分,我们编译了一个工具链及临时系统,然后在第二部分我们chroot到/mnt/lfs下面,利用临时系统的工具编译了我们最终的LFS系统.不过此时,我们的LFS系统还是不完整的,因为我们还没有安 ...

  7. Python+Django+SAE系列教程11-----request/pose/get/表单

    表单request,post,get 首先我们来看看Request对象,在这个对象中包括了一些实用的信息,学过B/S开发的人来说这并不陌生,我们来看看在Django中是怎样实现的: 属性/方法 说明 ...

  8. Hibernate Validator 6.0.9.Final - JSR 380 Reference Implementation: Reference Guide

    Preface Validating data is a common task that occurs throughout all application layers, from the pre ...

  9. ASP.NET Core 入门教程 7、ASP.NET Core MVC 分部视图入门

    一.前言 1.本教程主要内容 ASP.NET Core MVC (Razor)分部视图简介 ASP.NET Core MVC (Razor)分部视图基础教程 ASP.NET Core MVC (Raz ...

随机推荐

  1. VBScript 内置函数

    本页列出了所有内建的 VBScript 函数: Date/Time 函数 Conversion 函数 Format 函数 Math 函数 Array 函数 String 函数 其他函数 Date/Ti ...

  2. NorthSJ项目零碎知识点

    1 div显示纵向滚动条: <div style="overflow-y:auto;overflow-x:hidden;"></div> 2 FineUI的 ...

  3. 自己写的基于java Annotation(注解)的数据校验框架

    JavaEE6中提供了基于java Annotation(注解)的Bean校验框架,Hibernate也有类似的基于Annotation的数据校验功能,我在工作中,产品也经常需要使 用数据校验,为了方 ...

  4. Trie(前缀树/字典树)及其应用

    Trie,又经常叫前缀树,字典树等等.它有很多变种,如后缀树,Radix Tree/Trie,PATRICIA tree,以及bitwise版本的crit-bit tree.当然很多名字的意义其实有交 ...

  5. Lua虚拟机初始化

    转自:http://www.cnblogs.com/ringofthec/archive/2010/11/09/lua_State.html 1. 创建lua虚拟机 lua_State *lua_ne ...

  6. Python-编写一个mysql注入漏洞检测工具

    判断mysql网站是否存在注入漏洞的几个方法: 注入点后加上一个单引号会报错 and 1=1返回正常页面,and 1=2返回的页面不同于正常页面 and sleep(3) 网页会等待3秒左右 根据返回 ...

  7. Jenkins搭建Nodejs自动化测试

    一.安装Jenkins(Windows) 1. 在Jenkins官网(https://jenkins.io/)下载安装包,解压并安装 2. 安装完成后,会自动打开一个页面,根据提示在安装目录下找到随机 ...

  8. 浏览器重绘(repaint)和回流(reflow)的那点事

    第一次听到重绘和回流是在鹅厂实习面试,那个时候对浏览器没有任何的概念,所以面试官说到这个问题的时候整个人都蒙圈了.下面是近期学习总结: 重绘(repaint)和回流(reflow) 文档初次加载时,H ...

  9. 关于Android项目中,突然就R类找不到已存在的资源文件的解决方法

    项目代码早上打开正常,下午开的时候突然提示R类找不到已存在的布局文件,于是试了各种方法,CLEAN啊,重启啊,均无效,然后去网上搜了下,遇到这个问题的人还不少. 看到其中有这么一条解决方法,删除导入的 ...

  10. Java泛型通配符以及限定

    摘抄笔记 A:泛型的限定 /* * 将的酒店员工,厨师,服务员,经理,分别存储到3个集合中 * 定义方法,可以同时遍历3集合,遍历三个集合的同时,可以调用工作方法 */ import java.uti ...