package level02
object Class07 {
object Myschool {
val name: String = "xxx学校"
def say(): Unit = {
println(s"say:$name")
}
}
def main(args: Array[String]): Unit = {
Myschool.name
Myschool.say()
}
}
- 独立工具类:封装无状态的公用方法(如数据格式化、计算逻辑),避免重复创建实例浪费资源。
- 全局数据容器:存储全局共享的常量或配置(如系统参数、固定标识),确保全程序使用统一数据。
单例对象在实际开发中还有更多高频用途,常见场景包括:
- **工具类封装**:如 `DateUtils`(日期格式化)、`StringUtils`(字符串处理),将通用方法集中管理。
- **配置管理**:存储数据库连接参数、接口地址等全局配置,避免硬编码分散在代码中。
- **伴生对象**:与普通类(`class`)同名,作为类的 “静态扩展”,负责类的工厂方法或静态逻辑(如 `Person` 类的 `apply` 方法)。