Scala之包package

本文介绍了Scala中的包管理机制,包括包的命名规则、包语句的使用方法、包对象的作用及如何进行有效的导包操作。文章还展示了不同情况下导包的具体语法。

一、包的命名

规则

        只能包含数字、字母、下划线、小圆点.,但不能用数字开头,不能使用关键字。

二、包语句

1.与Java的包管理风格相同,每个源文件一个包

package com.hpu.exe01.demo04

2.通过嵌套的风格表示层级关系

(1)一个源文件中可以声明多个package

(2)子包中的类可以直接访问父包中的内容,而无需导包

package com{
	package hpu{
		package scala{

		}
	}
}

package com {

    import com.hpu.Inner //父包访问子包需要导包

    object Outer {
        val out: String = "out"

        def main(args: Array[String]): Unit = {
            println(Inner.in)
        }
    }

    package hpu {

        object Inner {
            val in: String = "in"

            def main(args: Array[String]): Unit = {
                println(Outer.out) //子包访问父包无需导包
            }
        }
    }
}

三、包对象

        在Scala中可以为每个包定义一个同名的包对象,定义在包对象中的成员,作为其对应包下所有class和object的共享变量,可以被直接访问。

package object com{
	val shareValue="share"
	def shareMethod()={}
}

(1)若使用Java的包管理风格,则包对象一般定义在其对应包下的文件中,包对象名与包名保持一致。

(2)如采用嵌套方式管理包,则包对象可与包定义在同一文件中,但是要保证包对象与包声明在同一作用域中。

package com {
    object test {
        val a: Int= 1

        def main(args: Array[String]): Unit = {
            println(name)
        }
    }
}

package object com {
    val name: String = "com"
}

四、导包说明

Scala中的三个默认导入分别是

        import java.lang._

        import scala._

        import scala.Predef._

import com.hpu.Fruit

引入com.hpu包下Fruit(class和object)

import com.hpu._

引入com.hpu下的所有成员

import com.hpu.Fruit._

引入Fruit(object)的所有成员

import com.hpu.{Fruit,Vegetable}

引入com.hpu下的Fruit和Vegetable

import com.hpu.{Fruit=>apple}

引入com.hpu包下的Fruit并更名为apple

import com.hpu.{Fruit=>apple,_}

引入com.hpu包下的所有成员,并将Fruit更名为apple

import com.hpu.{Fruit=>_,_}

引入com.hpu包下屏蔽Fruit类

new _root_.java.util.HashMap

引入的Java的绝对路径

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值