栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Scala 面向对象-Scala 包

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Scala 面向对象-Scala 包

Scala 面向对象

Scala 的面向对象思想和 Java 的面向对象思想和概念是一致的。
Scala 中语法和 Java 不同,补充了更多的功能。

1 Scala 包

1)基本语法
package 包名
2)Scala 包的三大作用(和 Java 一样)
(1)区分相同名字的类
(2)当类很多时,可以很好的管理类
(3)控制访问范围

1.1 包的命名

1)命名规则
只能包含数字、字母、下划线、小圆点.,但不能用数字开头,也不要使用关键字。
2)案例实操
demo.class.exec1 //错误,因为 class 关键字
demo.12a //错误,数字开头
3)命名规范
一般是小写字母+小圆点
com.公司名.项目名.业务模块名
4)案例实操
com.sohu.bank.order

1.2 包说明(包语句)

1)说明
Scala 有两种包的管理风格,一种方式和 Java 的包管理风格相同,每个源文件一个包(包名和源文件所在路径不要求必须一致),包名用“.”进行分隔以表示包的层级关系,如com.xiaoqiu.scala。
另一种风格,通过嵌套的风格表示层级关系,如下

package com{
	package xiaoqiu{
		package scala{
		}
	}
}

第二种风格有以下特点:
(1)一个源文件中可以声明多个 package
(2)子包中的类可以直接访问父包中的内容,而无需导包

1.3 包对象

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

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

1)说明
(1)若使用 Java 的包管理风格,则包对象一般定义在其对应包下的 package.scala文件中,包对象名与包名保持一致。
(2)如采用嵌套方式管理包,则包对象可与包定义在同一文件中,但是要保证包对象与包声明在同一作用域中。

package com {
	 object Outer {
	 	 val out: String = "out"
		 def main(args: Array[String]): Unit = {
		 	println(name)
		 }
	 }
}
package object com {
	val name: String = "com"
}
1.4 导包说明

1)和 Java 一样,可以在顶部使用 import 导入,在这个文件中的所有类都可以使用。
2)局部导入:什么时候使用,什么时候导入。在其作用范围内都可以使用
3)通配符导入:import java.util._
4)给类起名:import java.util.{ArrayList=>JL}
5)导入相同包的多个类:import java.util.{HashSet, ArrayList}
6)屏蔽类:import java.util.{ArrayList =>_,_}
7)导入包的绝对路径:new _root_.java.util.HashMap

package java {
	 package util {
		 class HashMap {
		 }
	 }
}

说明
import com.xiaoqiu.Fruit 引入 com.xiaoqiu 包下 Fruit(class 和 object)
import com.xiaoqiu._ 引入 com.xiaoqiu 下的所有成员
import com.xiaoqiu.Fruit._ 引入 Fruit(object)的所有成员
import com.xiaoqiu.{Fruit,Vegetable} 引入 com.xiaoqiu 下的 Fruit 和 Vegetable
import com.xiaoqiu.{Fruit=>Shuiguo} 引入 com.xiaoqiu 包下的 Fruit 并更名为 Shuiguo
import com.xiaoqiu.{Fruit=>Shuiguo,_} 引入 com.xiaoqiu 包下的所有成员,并将 Fruit 更名为 Shuiguo
import com.xiaoqiu.{Fruit=>_,_} 引入 com.xiaoqiu 包下屏蔽 Fruit 类
new root.java.util.HashMap 引入的 Java 的绝对路径
2)注意
Scala 中的三个默认导入分别是
import java.lang._
import scala._
import scala.Predef._

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/684774.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号