Kotlin基础教程之伴生对象,getter,setter,内部,局部,匿名类,可变参数
发布时间 - 2026-01-11 01:25:07 点击率:次先来看一个名为Message的类
在这个类中有一段包含在companion object中的代码,需要说一下的是,Kotlin的class并不支持static变量,所以需要使用companion object来声明static变量,其实这个platformStatic变量也不是真正的static变量,而是一个伴生对象,
这个伴生对象位于Message类中定义的一个叫做Companion的内部类中,如图:
可以看到在Kotlin中编译器自动生成类是很常见的事情,那么这个伴生对象作何理解呢?
我的理解是,伴生对象与单例模式相关,这个对象是Companion类的对象,伴随着Message类而生.
Companion这个内部类是编译器自动生成的,我们也可以自己定义内部类,如:
回到Message类中,我们可以看到在info和what域下还存在get和set,不错,这就是getter和setter函数,一般getter函数使用默认的就好,setter函数其实就是在赋值的时候进行一些处理,为了防止setter函数无限递归调用,在类中可以使用$符号访问成员变量,可以绕过getter和setter函数直接访问成员变量.
当然,在Kotlin中除了内部类,还有匿名类和局部类,如图:
匿名类:
可以看到r这个变量所属类型是匿名的(no name provided)
局部类:
局部类,就是在函数内部定义的类,只在函数内部可以访问.
在Kotlin中还提供了一些额外的特性,比如可变参数
这段代码运行结果如下:
让我们测试一下Message类:
可见Kotlin的getter和setter所起的作用
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Kotlin
# getter
# setter
# 内部
# 局部
# 匿名类
# kotlin中数据类重写setter getter的正确方法
# 类中
# 可以看到
# 如图
# 递归
# 自动生成
# 的是
# 就是在
# 在这个
# 让我们
# 这就是
# 就好
# 这段
# 希望能
# 可以使用
# 只在
# 谢谢大家
# 而生
# 为了防止
# 所起
# 测试一下
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
香港服务器建站指南:免备案优势与SEO优化技巧全解析
如何为不同团队 ID 动态生成多个非值班状态按钮
如何确保FTP站点访问权限与数据传输安全?
Laravel安装步骤详细教程_Laravel环境搭建指南
jQuery 常见小例汇总
Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】
Laravel怎么清理缓存_Laravel optimize clear命令详解
Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践
浅谈javascript alert和confirm的美化
UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】
Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件
PythonWeb开发入门教程_Flask快速构建Web应用
Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧
音乐网站服务器如何优化API响应速度?
如何快速配置高效服务器建站软件?
Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧
Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】
Android利用动画实现背景逐渐变暗
PHP正则匹配日期和时间(时间戳转换)的实例代码
Android okhttputils现在进度显示实例代码
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置
微信小程序 配置文件详细介绍
Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】
如何快速搭建支持数据库操作的智能建站平台?
php json中文编码为null的解决办法
网站建设保证美观性,需要考虑的几点问题!
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像
Python文件操作最佳实践_稳定性说明【指导】
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】
Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】
Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】
Laravel distinct去重查询_Laravel Eloquent去重方法
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
使用spring连接及操作mongodb3.0实例
Laravel怎么解决跨域问题_Laravel配置CORS跨域访问
通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】
音响网站制作视频教程,隆霸音响官方网站?
如何为不同团队 ID 动态生成多个“认领值班”按钮
如何快速查询网站的真实建站时间?
Laravel Admin后台管理框架推荐_Laravel快速开发后台工具
Laravel Octane如何提升性能_使用Laravel Octane加速你的应用
Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明
如何用低价快速搭建高质量网站?
javascript中闭包概念与用法深入理解

