包和引入

1.包

2.作用域规则

3.串联式包语句

4.文件顶部标记法

5.包对象

6.包可见性

7.引入

8.任何地方都可以声明引入

9.重命名和隐藏方法

10.隐式引入

 

 

1.包

 如下,Pack类名可以在任意位置以com.test.Pack访问到了。

 

2.作用域规则

所有父包中的内容都在作用域内。

 

3.串联式包语句

若指定了报名

package com.horstmann.impatient {

// com 和 com.horstmann的成员在这里都不可见

package people {

class Person {

val name: String

}

}

}

因为com.horstmann.impatient 已经指定了具体的包路径,其他路径可定是不可以访问的啦。

 

4.文件顶部标记法

以上部分的包引入,是嵌套标记法。其实,大多数,都是使用文件顶部标记法

在文件顶部直接引入

package com.horstmann.impatient

 

5.包对象

每个包都可以有一个包对象。

 

6.包可见性

同java一样,没有被声明为public、private、protected的类成员在包含该类的包中可见。也就是default是同包可见。

 

7.引入

引入某个包的全部成员:

 

8.任何地方都可以声明引入

不一定必须在文件顶部声明引入。任何地方都可以。

 

9.重命名和隐藏方法

如果你想要引入包中的几个成员,可以使用选取器:

 

选取器语法还允许你重命名选到的成员:

这样,JavaHashMap就是java.util.HashMap, 而HashMap则对应scala.collection.mutable.HashMap

 

HashMap => _将隐藏某个成员

虽然导入的两个包中都有HashMap,但是由于java.util.HashMap隐藏了,因此,HashMap只会去引用第二个包了。

 

10.隐式引入

java.lang总是被引入

 

posted @ 2017-12-11 15:40  凌晨六点半  阅读(133)  评论(0编辑  收藏  举报