Scala 包的特点说明|学习笔记

简介: 快速学习 Scala 包的特点说明。

开发者学堂课程【Scala 核心编程-基础Scala 包的特点说明】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/609/detail/8955


Scala 包的特点说明

 

内容介绍

一、Scala 包的特点概述

二、Scala 包的命名

三、Scala 会自动引入的常用包

四、使用技巧

 

前面已讲过 Scala 的快速入门,本章来介绍 Scala 包的特点。

 

一、Scala 包的特点概述

1、基本语法:

package 包名

2、Scala 包的作用(和 Java 一样)

1)区分相同名字的类

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

3)控制访问范围

(4)、对类的功能进行拓展(之后会体现)。

3、Scala 中包名和源码所在的系统文件目录结构可以不一致,但编译后的字节码文件路径和包名会保持一致(这个工作由编译器完成)。

[案例演示]

scala 包和类源码和文件路径,.class 文件的关系图

Dog, sclaa//

scala\com\atguigu\chapter07\ scalapackage

package com. atguigu. Dog

publicDog{

}

//scala 对包的要求

//1.类的源文件,可以和包对应的文件路径不一

//2.我们编译 Dog 类,后生成对应的. class 文件,编译器会将该. class 文件也放在和包对应的文件路径下

.class

com. atguigu.chapter07.scalapackage.hello

打开 Scala,找到之前用过的 TestTiger

package com. atguigu.chapter07.scalapackage

object TestTiger{

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

//使用 xh 的 Tiger

val tiger1=new com. atguigu.chapter07.scalapackage . xh.Tiger

//使用 xm 的 Tiger

val tiger2=new com. atguigu.chapter07.scalapackage . xm. Tiger

println(tiger1+““+tiger2)

}

}

class Employee {

}

写入一个文件 Employee,这时文件的源码文件在 TestTiger,它的路径是 com. atguigu.chapter07.scalapackage,更改为 com. atguigu.chapter07.scalapackage.hello,TestTiger 与 Employee 的路径不一致,此时运行并未报错,是因为编译器已把这个新文件(Employee)放到包对应的文件路径下了,它自动生成文件夹 hello,将文件放进去,并且改变路径后,如改为 com. atguigu.chapter07.scalapackage.hello2,运行后看到文件夹 hello,就变成hello2了,这个功能好处在于灵活性,源文件可以随便写在哪个文件,包可以随意指定,需注意这个工作是编译器来完成的。

 

二、Scala 包的命名

1、命名规则:

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

案例:

demo. class.exec1//错误,因为 class 为关键字。

demo.12a//错误,因为不能以数字开头,但可以写到中间,如:a1b。

2、命名规范:

一般是小写字母+小圆点一般是:

com.公司名.项目名.业务模块名

比如:com.atguigu.oa.model com.atguigu.oa.controller

com.sina.edu.user//教育项目

com.sohu.bank.order//银行项目

 

三、Scala 会自动引入的常用包

在 Java 中 lang 包是不需要引入就可使用的,在 Scala 中 lang 包是自动引入的(本身基于Java开发),除此之外scala 包和 predef包(预定义包)都是自动引入的,但需注意 scala 包可以使用不代表其子包也可以直接使用。在Scala 中新建一个包 packageImport:

package com. atguigu.chapter07.  scalapackage

object package Import{

}

在 scala 中 java. lang. 包 scala 包,predef 包可直接使用,import scala.List 就可以直接使用,如图

image.png

但 import scala.io.中的包就无法直接使用,需要手动引入一下。

image.png

predef 包中包括 set、Map、Function 等等,可直接使用。

image.png

四、使用技巧

当平时需要看某个包中文件的详细内容时:

package com. atguigu.chapter07.  scalapackage

//在 scala 中 java. lang.包 scala 包,Predef 包可以直接使用

object pack agemport{

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

import scala.io.stdIn

}

}

此时要看 io 包的内容,用光标选中 io,然后 ctrl+b 就会显示出 io 包的详细内容,如图:

image.png

这时不仅看到 scala 中的 io,同时还能看到 scala 一系列可以直接使用的子包,想看其中某个就可以直接点开看到源代码。

相关文章
|
分布式计算 Java 大数据
|
Java Scala 开发者
Scala 下界介绍和应用实例 | 学习笔记
快速学习 Scala 下界介绍和应用实例
Scala 下界介绍和应用实例 | 学习笔记
|
Scala 开发者
Scala 上界介绍和应用实例2 | 学习笔记
快速学习Scala上界介绍和应用实例2
Scala 上界介绍和应用实例2 | 学习笔记
|
Java Scala 开发者
Scala 泛型介绍和应用实例2 | 学习笔记
快速学习 Scala 泛型介绍和应用实例2
Scala 泛型介绍和应用实例2 | 学习笔记
|
Java Scala 开发者
Windows 搭建S cala 开发环境|学习笔记
快速学习 Windows 搭建 Scala 开发环境。
208 0
Windows 搭建S cala 开发环境|学习笔记
|
小程序 Java 编译器
Scala 快速入门|学习笔记
快速学习 Scala 快速入门。
127 0
Scala 快速入门|学习笔记
|
Scala 开发者 索引
关联 Scala 源码|学习笔记
快速学习关联 Scala 源码。
209 0
|
Java 大数据 Scala
scala 对象创建的流程分析|学习笔记
快速学习 scala 对象创建的流程分析。
108 0
|
大数据 Java 编译器
Scala 字符类型|学习笔记
快速学习 Scala 字符类型。
180 0
|
大数据 Scala 开发者
Scala 整型|学习笔记
快速学习 Scala 整型。
125 0