chapter07
// 包和引入
// 包也可以像内部类那样嵌套
// 包路径不是绝对路径
// 包声明链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的更多相关文章
- Chapter07 链表(下):如何轻松学出正确的链表代码?
技巧一:理解指针或引用的含义 技巧二:指针丢失和内存泄漏 技巧三:利用哨兵简化实现难度 技巧四:重点留意边界条件处理 如果链表未空时,代码是否能够正常运行 如果链表只包含一个节点时,代码能否正常运行 ...
- django表单
一.主要内容 1.服务端获取HttpRequest信息 1)url相关信息 2)HttpRequest.META中包含的键值对 3)HttpRequest中用 ...
- web初学之JavaBean
JavaBean 1.javaBean类:特殊的java类,以封装和重用为目的.通常JavaBean与Jsp搭配使用构成JavaBean技术. (1)JavaBean的规范: ●JavaBean是个公 ...
- markdown to html
/************************************************************************* * markdown to html * 说明: ...
- 【Python】django表单与提交
参考:http://djangobook.py3k.cn/2.0/chapter07/ 本文的内容应属于django的表单模块,没有涉及到的后端request对象的处理方法可以单独深入学习表单. UR ...
- LFS7.4编译笔记(3)
在第一部分,我们编译了一个工具链及临时系统,然后在第二部分我们chroot到/mnt/lfs下面,利用临时系统的工具编译了我们最终的LFS系统.不过此时,我们的LFS系统还是不完整的,因为我们还没有安 ...
- Python+Django+SAE系列教程11-----request/pose/get/表单
表单request,post,get 首先我们来看看Request对象,在这个对象中包括了一些实用的信息,学过B/S开发的人来说这并不陌生,我们来看看在Django中是怎样实现的: 属性/方法 说明 ...
- 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 ...
- ASP.NET Core 入门教程 7、ASP.NET Core MVC 分部视图入门
一.前言 1.本教程主要内容 ASP.NET Core MVC (Razor)分部视图简介 ASP.NET Core MVC (Razor)分部视图基础教程 ASP.NET Core MVC (Raz ...
随机推荐
- UNITY_MATRIX_IT_MV[Matrix]
http://blog.csdn.net/cubesky/article/details/38682975 前面发了一篇关于unity Matrix的文章. http://blog.csdn.NET/ ...
- 【转】Pro Android学习笔记(十六):用户界面和控制(4):ImageView控件
目录(?)[-] XML片段 代码设置ImageView ImageView是基础的控件,它是android.widget.ImageView的继承类. XML片段 <LinearLa ...
- canvas实现平铺
代码: /** * Created by Administrator on 2016/1/30. */ function draw(id){ var canvas = document.getElem ...
- 关于cin
今天同学调试一个简单的程序的时候发现了问题,我们两个讨论的时候弄出了好多乐子 #include <iostream> using namespace std; int main() { ; ...
- play 1.2.4的action执行前后的加载逻辑
——杂言:最近在整理这一年的笔记,打算慢慢温故一遍,然后搬到博客里头来.这篇是2013.06.18时候整理的关于action执行前后的一些载入先后顺序逻辑.我的理解可能有偏差,如果有错误的,请读者们及 ...
- pig 入门教程(1)
出处:http://www.codelast.com/ 本文可以让刚接触pig的人对一些基础概念有个初步的了解. 本文大概是互联网上第一篇公开发表的且涵盖大量实际例子的Apache Pig中文教程(由 ...
- 17、SAM文件格式说明(转载迷宫中的将军)
1. SAM格式说明 SAM代表Sequence Alignment/Map格式,是一种制表符分隔的文本格式,包含一个可选的头部分(header section,有人称之为“注释部分”),和一个比对部 ...
- p2590&bzoj1036 树的统计
传送门(洛谷) 传送门(bzoj) 题目 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w.我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值 ...
- Entity Framework Code-First(9.11):DataAnnotations - InverseProperty Attribute
DataAnnotations - InverseProperty Attribute: We have seen in the Code-First Convention section that ...
- 11.Weblogic-SSRF漏洞复现
应为这一阵正好在学习SSRF漏洞,又苦于本人太菜没有挖到SSRF,只能复现... 先贴出很早之前央视网SSRF可窥探内网(Weblogic SSRF案例):https://www.secpulse.c ...