scala基础19-包/包对象/引入/隐式引入

/*
 * scala中隐式引入了以下包:
 * java.lang._
 * scala._
 * Predef._
 */
package com.dt.scala.oop //没有大括号,表示作用域到整个代码块

package com.scala.spark

/*
 * 在包中可以定义包对象
 * 包中的所有类都可以访问报对象的成员和方法
 * 前提是包的名字要和报对象的名字一样
 */
package object people {
  val defaultName = "Scala"
}


package people {
  class people {
    var name = defaultName
  }
  
  class people2 {
    var name2 = defaultName
  }
}

class people3 {
  //var name3 = defaultName //这里不能访问,people3已经不再people包中
}

import java.awt.{ Color, Font } //单独引入指定类
import java.util.{ HashMap => JavaHashMap } //重命名:解决java中类和scala中的类的命名冲突
import scala.{ StringBuilder => _ } //隐藏这个类

class PackageOps {}

package spark.navigation {//支持包的嵌套
  abstract class Navigator {
    def act
  }
  
  //测试代码专门在测试的包里
  package tests {
    // 在spark.navigation.tests包里
    class NavigatorSuite
  }

  package impls {
    class Action extends Navigator {
      def act = println("Action")
    }
  }
}

package hadoop {
  package navigation {
    class Navigator
  }

  package launch {
    class Booster {
      val nav = new navigation.Navigator
    }
  }
}

object PackageOps extends App {
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值