Scala中package与import实战详解

为什么会用package的概念?

因为要对多个同名的类进行命名空间的管理,避免同名类发生冲突

就比如scala.collection.mutable.Map/scala.collection.immutable.Map

------------------------------------------------------------------------------------------

package定义的第一种方式:多层级package定义(不推荐)

package com{

           package taobao{

                        package utg{

                                      class test{ }

                         }

            }

}



---------------------------------------------------------------------------------------------

package定义的第二种方式:串联式package的定义(不推荐)

package com.taobao.scala{

              package  dao{

                            class daoImpl{  }

              }

}

------------------------------------------------------------------------------------------------

package定义的第三种方式:文件顶部定义(推荐)

package com.tao.bao.dao.impl

class test{







         package特性:

                     1.同一个包定义,可以在不同的Scala源文件中的;一个scala源文件内,可以包含两个包

                     2.子包中的类,可以访问父包中的类

                     3.相对包名和绝对包名(_root_.scala.collection.immutable.ArrayBuffer)

                     4.定义package对象

                     5.package可见性

                        package com.taobao.scala.dao

                                private  [dao] val name="leo" //只在dao的package下可见

                                private  [taobao] val name="leo" //只在taobao的package下可见






       import特性:

                  1.用import   scala.collection._ 这种格式,可以导入包下所有的成员

                  2.Scala与java不同之处在于,任何地方都可以使用import

                  3.选择器/重命名/隐藏

                     import java.awt.{color,Font} 仅仅导入java.awt包下的color和font类//选择器

                     import java.util.{HashMap => JavaHashMap} 将导入的包重命名 //重命名

                     import java.util.{HashMap => _._} 导入所有java.util下的隐藏掉HashMap类

                  4.隐式导入

                     java.lang._       salca._       Predef._    这几个包都会被scala程序默认导入








  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值