Scala 包的声明和使用

网友投稿 616 2022-11-21

Scala 包的声明和使用

Scala 包的声明和使用

基本语法

1)基本语法

package 包名

2)Scala包的三大作用(和java一样)

(1)区分相同名字的类

(2)当类很多时,可以很好的管理

(3)控制访问范围

两种方式:

package com.atguigu.scalal1015.day03.pack

包语句(几乎没有)

在java中一般一个.java文件只写一个类,但是在scala’中, 一个 .scala文件中一般会写多个类.将来所有的类会默认在一个包中

package aa{ class A}

包的使用

如何导包和导类

在文件的最顶层导

如果我想使用HashMap的话 import java.util.HashMap如果想同时导出多个的话import java.util.{TreeMap, HashMap}排除导包,比如说我java.util包下除了HashMap以外其它类都需要导入​ 这个意思是把HashMap的别名设置为空的,然后再给其它的都导入,import java.util.{HashMap => _, _}给HashMap起个别名import java.util.{HashMap=>HM}那么使用的时候就直接用HM,

import java.util.{TreeMap, HashMap}object Pack1 { def main(args: Array[String]): Unit = { new HashMap[String, String]() new TreeMap[String, String]() }}

代码的任何的需要的地方导包

什么时候需要用了什么时候导包,比如说我就想在Main函数里面使用,那么就在Main函数里面导包,Main函数外面不能使用

def main(args: Array[String]): Unit = { import java.util.HashMap new HashMap[String, String]() }

通配符导入

比如可以在方法的内部

在类上面

// 给Java下面的所有的类都导入过来import java.util._object Pack1 { def main(args: Array[String]): Unit = { new HashMap[String, String]() new TreeMap[String, String]() }}

在方法内部

def main(args: Array[String]): Unit = { // 在方法内部给Java下面的所有的类都导入过来 import java.util._; new HashMap[String, String]() new TreeMap[String, String]() }

包对象

就是定义一个方法,这个方法在当前包下的类,或者子包下的类都可以使用

定义包对象里面的方法

// 这个对象的内的所有属性和方法, 在pack包内的所有的类可以直接使用package object pack { def foo() = println("foo...")}

包内的别的方法调用对象里面的方法

package packobject Pack2 { def main(args: Array[String]): Unit = { foo() }}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Scala之 函数式编程 一 *
下一篇:元类被称为 Python 中的“深奥的巫术“
相关文章

 发表评论

暂时没有评论,来抢沙发吧~