当前位置: 首页 > wzjs >正文

商城模板网站模板免费下载桂林两江四湖环城水系图

商城模板网站模板免费下载,桂林两江四湖环城水系图,百度做免费推广的步骤,建设通app下载安装Kotlin 的设计核心是: 一切皆对象:消除 static 的「非对象」特性,用 companion(对象)和顶层函数(包级对象)替代,让代码更统一。避免全局状态滥用:static 成员是全局可见…

Kotlin 的设计核心是:

  1. 一切皆对象:消除 static 的「非对象」特性,用 companion(对象)和顶层函数(包级对象)替代,让代码更统一。
  2. 避免全局状态滥用static 成员是全局可见的,易导致隐性依赖;而 companion 依附于类,object 单例明确作用域,更易维护。
  3. 简化语法:顶层函数直接调用,object 单例无需 new,比 Java 的静态方法更简洁。

本质需求:编程中常需要「不依赖对象实例就能调用的成员」(如工具类方法、全局变量),Java 用 static 实现,而 Kotlin 为了一切皆对象和简化语法等设计目标,舍弃了 static

在 Kotlin 中,不依赖对象实例就能调用的成员,本质上都是为了实现「类级 / 全局共享功能」。有三种实现方式,但设计目标不同,使用场景不同。

一、companion(伴生对象)

核心逻辑:

  • 伴生对象是类的「官方搭档」:每个类默认有一个 companion object(可简写成 companion),它依附于类存在,生命周期与类绑定,全局唯一。
  • 通过类名直接调用:伴生对象的成员可通过 类名.成员 访问,看似类似 static,但本质是对象的成员(伴生对象是一个真实的 object 实例)。
  • 设计哲学:Kotlin 希望「少用静态,多用对象」,伴生对象让类的功能更内聚(属于类的一部分),避免全局变量 / 函数的无序性。

二、顶层函数 / 属性(Top-Level Functions/Properties)

  • 本质:直接定义在包(package)下的函数 / 属性,不属于任何类,相当于全局作用域的「自由成员」。
  • 调用方式:直接通过函数名调用,或导入后调用(类似 Python 的模块函数)。
  • 设计目标:替代 Java 的「工具类静态方法」(如 Collections.sort()),避免为工具函数创建无状态的类(如 Java 的 Utils 类)。
// 在文件顶部直接定义(不属于任何类)
fun printMessage() { // 顶层函数println("Hello from top-level function!")
}
val globalVersion = "1.0" // 顶层属性
// 调用方式:直接用函数名/属性名
printMessage() // 输出:Hello from top-level function!
println(globalVersion) // 输出:1.0

三、object`声明的单例类

  • 本质:用 object 关键字声明一个全局唯一的实例(单例模式的极简写法),无需 new 即可直接调用其成员。
  • 调用方式:通过 对象名.成员 调用(类似静态调用,但本质是单例对象)。
  • 设计目标:替代 Java 的「枚举单例」或 getInstance() 模式,用更简洁的语法创建有状态的全局实例。
object AppConfig { // 单例对象var theme = "light"fun setTheme(theme: String) {this.theme = theme}
}
// 调用方式:直接用对象名访问
AppConfig.theme = "dark" // 修改单例对象的状态
AppConfig.setTheme("light") // 调用单例对象的方法

总结:三种方式的适用场景

方式本质核心设计目标典型场景
companion object类的「官方搭档」对象替代 static,实现类级共享功能类的工厂方法、类的元数据(如 TAG)
顶层函数 / 属性全局自由成员简化工具函数,避免无意义的类通用工具函数(如 StringUtils
object 单例全局唯一实例极简单例模式,支持状态存储全局配置中心、日志管理器
http://www.dtcms.com/wzjs/816746.html

相关文章:

  • 网站做第三方登录界面做微网站价格
  • wordpress建站位置青岛建设局官方网站
  • 西安网站建设开发公司怎么样wordpress静态化好处
  • 网站建设额梵克雅宝
  • 崇义网站建设银川网站建设怎么样
  • 网站首页专题怎么做好的广告片拍摄制作公司
  • 展示类网站模板静态网站是什么意思
  • 如何做短信验证码网站三丰云做网站步骤
  • 盘锦做网站谁家好三拼域名做网站长不长
  • 化州+网站建设wordpress关闭手机主题
  • 西安商城网站建设制作个人淘客网站备案
  • 创意网站设计 高端网站开发怎么才能接到私活
  • 电商网站建设培训北京网站建设最便宜的公司
  • 赣州人才网站网站建设项目延期验收申请报告
  • html制作个人主页免费的seo优化
  • 物流公司做网站需求有意义的网站
  • 综合购物网站排名wordpress要的留邮箱
  • dw建设网站北京网站备案速度
  • 网站怎么做数据转移怎么登陆 wordpress
  • 宿迁网站建设价位wordpress二维码 插件下载
  • 关于网站建设的合同协议书青岛城乡建筑设计院有限公司
  • 公司做一个网站如何定位网站建设视频万网
  • wordpress 潜在威胁网站建设seo优化的好处
  • 做职业资格考试的网站有哪些王也动漫
  • 定制网站开发都提供那些东西成都微信小程序开发
  • discuz 网站备案信息代码网页制作培训前景
  • 设计师接私单做网站做网站要哪些人员
  • 网站制作最新技术的青岛网络推广教程
  • asp 网站后台站酷app
  • 用mvc做网站报告做英文网站 是每个单词首字母大写 还是每段落首字母大写