Scala之包package

Scala之包package,第1张

Scala之包package 一、包的命名

规则

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

二、包语句

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的绝对路径

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/5708076.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存