scala基础语法-包作用域

这篇博客探讨了Scala中的包作用域,通过`ApplyTest`类和`Basic4`对象展示了`apply()`方法的使用,以及如何通过`object`实现静态方法。此外,还提到了包的组织结构和导入规则,包括限定访问修饰符和别名导入。
摘要由CSDN通过智能技术生成
package org.xj.scala.spark


class ApplyTest {
  def apply() = "APPLY"


  def test {
    println("test")
  }
}


object ApplyTest { //本身就是一个单例
  var count = 0 //定义一个常量


  def apply() = new ApplyTest //new一个apply方法


  def static {
    println("i'm a static method")
  }


  def incr = {
    count = count + 1
  }
}


class Basic4 {


}


object Basic4 extends App { //object 里面的方法可以看到是静态方法
  //ApplyTest.static //对象名直接调用


  // val a = ApplyTest()  //类名后面加一个括号,其实就已经调用了object的apply()方法,初始化了对象返回给a
  // a.test


  //  val t = new ApplyTest //得到一个t对象
  //  println(t()) //t() 是调用类的apply方法
  //  println(t) //打印为一个对象


  for (i <- 1 to 10) {
    ApplyTest.incr
  }


  println(ApplyTest.count);
}






/**
 * Play
 * 
 * package org.xj {
 *  //---------只能看到自己的包,不能被下面访问
 * 
 *  package org.spark {
 *  }
 * }
 * 
 * 同上作用
 * package com.a
 * package b
 *  { 
 *   import xxx.xxx.xx 引入:出了块即可失效
 *  
 *  }
 *  
 *  import java.util.(HashMap => JavaHashMap)
 *  
 *  HashMap => _    //隐藏方法
 *  
 *   
 *    package aa.bb.cc.dd
 *    class XXX {
 *     private[dd] def asassa = { //sasasa只能被dd下面的类或者object访问
 *     }
 *    } 
 */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值