博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Scala学习第十六天 包的定义、包对象、包的引用、包的隐式引用代码实战
阅读量:2200 次
发布时间:2019-05-03

本文共 1400 字,大约阅读时间需要 4 分钟。

1、 Scala也使用包来进行分工和代码的组织

2、Scala包的作用域是如果有括号,就是括号区域内,如果没有括号,是从定义开始的整个代码块。
3、因为在包中不可以定义成员和方法 所以可以将一些需要得成员和方法定义在包对象中 便于包的类可以访问

package com.dt.scala.oop  /*   * 包对象   * 作用:包中所有的类就可以访问包对象中所有的成员和方法   */  package object people{
val defaultName = "Scala" } package people { //val defaultName = "Scala" //包中不可以定义成员和方法 class people {
var name = defaultName //访问包对象中的成员和方法 } } import java.awt.{Color, Font} //采用{}的方式来,引入包中的部分成员import java.util.{HashMap=>JavaHashMap} //解决scala和Java包命名的冲突,取别名JavaHashMap import scala.{StringBuilder=>_} //采用=>_ 占位符的方式屏蔽 这样就无法访问scala包下的StringBuilder class PackageOps{
} //包的定义可以采用这种链式的定义方式,scala里的包可以嵌套 package spark.navigation { abstract class Navigator {
def act } package tests{ //在这里可以做单元用例的测试 class NavigationSuite } package impl { class Action extends Navigator {
//实现抽象类的抽象方法 def act = println("Action") } } } package hadoop{ package navigation { class Navigation } package launch{ class Booster {
val nav = new navigation.Navigation //通过包hadoop的访问范围,可以访问Navigation类 } } } /** * Scala包的隐式引用 */ import java.lang._ //java.lang包的所有内容 //_表示导入包中的所有的内容 等价于Java中的import java.lang.* import scala._ //scala包中所有的内容 import Predef._ //Predef对象中的所有的内容

转载地址:http://crrub.baihongyu.com/

你可能感兴趣的文章
Play on Words UVA - 10129 (欧拉路径)
查看>>
mininet+floodlight搭建sdn环境并创建简答topo
查看>>
【linux】nohup和&的作用
查看>>
Set、WeakSet、Map以及WeakMap结构基本知识点
查看>>
【NLP学习笔记】(一)Gensim基本使用方法
查看>>
【NLP学习笔记】(二)gensim使用之Topics and Transformations
查看>>
【深度学习】LSTM的架构及公式
查看>>
【python】re模块常用方法
查看>>
剑指offer 19.二叉树的镜像
查看>>
剑指offer 20.顺时针打印矩阵
查看>>
剑指offer 21.包含min函数的栈
查看>>
剑指offer 23.从上往下打印二叉树
查看>>
剑指offer 25.二叉树中和为某一值的路径
查看>>
剑指offer 60. 不用加减乘除做加法
查看>>
Leetcode C++《热题 Hot 100-14》283.移动零
查看>>
Leetcode C++《热题 Hot 100-15》437.路径总和III
查看>>
Leetcode C++《热题 Hot 100-17》461.汉明距离
查看>>
Leetcode C++《热题 Hot 100-18》538.把二叉搜索树转换为累加树
查看>>
Leetcode C++《热题 Hot 100-21》581.最短无序连续子数组
查看>>
Leetcode C++《热题 Hot 100-22》2.两数相加
查看>>