Scala学习第十六天 包的定义、包对象、包的引用、包的隐式引用代码实战

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对象中的所有的内容  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值