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 ...
随机推荐
- tiny4412sdk-1506原生uboot卡死
于16年2月多购买了tiny4412sdk-1506,用友善之臂(以下简称友善)的superboot是可以进入linux,而用三星原始的uboot_tiny4412-20130729则不可以.出现现象 ...
- Mathf.Sin正弦
输入参数是弧度 Mathf.Sin public static float Sin(float f); Parameters Description Returns the sine of ang ...
- WPF如何更改系统控件的默认高亮颜色 (Highlight brush)
我们在用WPF时, 经常会对系统控件的默认高亮等等颜色进行更改. 以前通常是用controlTemplate来实现. 今天发现一个更合理或者简单的方法: 用系统默认颜色的key, 比如 SystemC ...
- JUI web企业应用框架 http://jui.org/
官方网址: http://jui.org/ 这是一个很好的开发控件
- nefu阶乘定理
Description 小明的爸爸从外面旅游回来给她带来了一个礼物,小明高兴地跑回自己的房间,拆开一看是一个很大棋盘(非常大),小明有所失望.不过没过几天发现了大棋盘的好玩之处.从起点(0,0)走到终 ...
- SQL语法基础:DDL、DML
一.DDL(Data Definition Language):数据定义语句 #常见的语句 1)CREATE TABLE/DATABASE:创建数据库 CREATE [TEMPORARY] TABLE ...
- 【转】 Pro Android学习笔记(六五):安全和权限(2):权限和自定义权限
目录(?)[-] 进程边界 声明和使用权限 AndroidManifestxml的许可设置 自定义权限 运行安全通过两个层面进行保护.进程层面:不同应用运行在不同的进程,每个应用有独自的user ID ...
- yum软件包管理器
Yum (Yellow dog Updater, Modified) 黄狗升级器是一个在 Fedora 中的字符前端软件包管理器.基于 RPM 包管理(介绍见RPM包及其管理),能够从指定的服务器自动 ...
- ASP.NET Core 中文文档 第四章 MVC(2.2)模型验证【转载】
http://www.cnblogs.com/dotNETCoreSG/p/aspnetcore-4_2_2-validation.html 介绍模型验证 在一个应用程序将数据存储到数据库之前,这个应 ...
- 进程vs线程
内存中的内容不同 进程->{ 进程是系统分配资源的最基本单位,线程是进程的一部分, 进程中存储文件和网络句柄 } 线程->{ 栈(每个线程都有一个栈空间) pc(当前或下一条指令的地址,指 ...