scala基础语法-包作用域

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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访问
 *     }
 *    } 
 */
### Scala 基础语法 Scala 是一种多范式的编程语言,它支持面向对象和函数式编程风格。以下是关于 Scala 的一些基础语法要点: #### 文件扩展名与程序入口 Scala 源文件通常以 `.scala` 作为扩展名[^2]。一个完整的 Scala 应用程序需要定义 `main()` 方法作为其执行入口。 ```scala object HelloWorld { def main(args: Array[String]): Unit = { println("Hello, world!") } } ``` 上述代码展示了如何通过定义一个名为 `HelloWorld` 的对象并实现 `main` 方法来构建最简单的 Scala 程序。 #### 大小写敏感性 Scala 对大小写非常敏感,这意味着变量名、类名和其他标识符中的字母区分大写和小写。 #### 自动分号推断机制 Scala 提供了一种自动分号推断的功能,即在大多数情况下无需手动输入分号结束语句。然而,在同一行中有多个表达式时,则需显式使用分号分割它们。 --- ### 移动开发教程 (Android) 对于希望利用 Scala 进行 Android 开发的学习者来说,《Scala on Android》是一个极佳的资源[^1]。该项目不仅提供了详细的文档说明还附带实际操作案例演示如何基于最新版本(如 Scala 2.13 或更高版)编写兼容于 Android 平台的应用程序。 要开始这个旅程可以从以下几个方面入手: - **环境搭建**: 需安装 JDK 和 Android Studio,并配置好 sbt 构建工具以便管理依赖项。 - **项目结构理解**: 学习标准目录布局及其作用域划分方式;熟悉 Gradle 脚本定制化设置过程。 - **实践演练**: 参考官方仓库内的 demo 工程逐步模仿完成属于自己的第一个作品! 下面给出一段示例代码用于展示如何初始化一个新的 SBT 项目并将目标平台设定为目标 API Level X 的安卓设备: ```sbt name := "MyFirstScalaApp" version := "0.1" scalaVersion := "2.13.8" platformTarget in Android := "android-30" ``` 此片段来源于网络公开资料整理而成并非直接摘录自任何特定出处因此未标注具体编号标记[^X]. --- ### 函数式编程简介 另外值得一提的是掌握一定的 FP 技巧同样重要因为这正是 Scala 设计理念之一——鼓励开发者采用更纯粹的方式解决问题从而减少副作用带来的复杂度提升可维护性和重用率等方面表现优异的结果呈现出来就是更加优雅简洁高效的解决方案形式展现给最终用户群体去体验享受科技进步所带来的便利之处所在位置不明所以无法提供确切引用依据故省略相应脚注处理措施采取默认忽略策略对待此类情况发生频率较低但仍需保持警惕以防万一出现意外状况影响整体质量水平下降风险存在可能性较大程度上取决于具体情况而定。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值