【编程语言】Kotlin之object关键字
在一个体重秤项目里面使用Kotlin开发,考虑到项目比较小型轻量,所以和团队申请决定使用Kotlin开发,以此熟悉和尝试一下Kotlin。
首先使用Kotlin之后,发现能和Java很好的兼容一起,开发体验很不错。在开发过程中,遇到了需要使用匿名内部类的场景,然后就了解到Kotlin的object关键字。
object关键字:
在Kotlin中,object通常有三个用途:
- 对象表达式
- 对象声明
- 伴生对象
对象表达式
对象表达式可以实现Java中匿名内部类的效果,但比Java更加友好。
(1)Kotlin的匿名内部类(对象表达式)能被调用添加的方法。(匿名对象只有定义成局部变量和private成员变量时,才能被调用添加的方法。)
(2)Kotlin的匿名内部类能继承一个类和实现多个接口。
// 定义 open class A{} interface B{} interface C{}// 使用object关键字创建匿名对象 var obj = object:A(),B,C{fun say(){println("Hello World!") } } // 可以调用匿名对象添加的方法 obj.say()
对象声明
object关键字作用等同于class,同时还会生成该类的单例对象(注意该类的构造器已经私有,不能被继承)。
object Person {var name = "name" } // 调用println(Person.name)
伴生对象
在Kotlin中是没有static关键字的,所以通常使用伴生对象来达成一样的作用。
class A{companion object 伴生对象名{// 伴生对象名是可以省略 } }
如果伴生对象名省略,则默认是Companion,在Kotlin代码中调用通过:
(1)类名.Companion.方法名称或变量
(2)类名.方法名称或变量
Companion其实是一个生成的静态内部类,外部类持有Companion实例对象。
转载于:https://www.cnblogs.com/nicojerry/p/10528921.html
【编程语言】Kotlin之object关键字相关推荐
- 【对比Java学Kotlin】object 关键字
两种用法 Kotlin 的 object 关键字有两种用法,一个是作为右值表达式的前缀,一个是作为类的前缀修饰符. object 表达式 object 表达式一般用于对现有类进行稍微修改.因为是临时使 ...
- 一文就懂Kotlin作用域函数以及object关键字
作用域函数 Kotlin 标准库包含几个函数,它们的唯一目的是在对象的上下文中执行代码块.当对一个对象调用这样的函数并提供一个 lambda 表达式时,它会形成一个临时作用域.在此作用域中,可以访问该 ...
- 在kotlin companion object中读取Bean,注入Bean对象
在kotlin companion object中读取Bean,注入Bean对象 在使用kotlin时,或多或少地会使用到一些公共组件,如 http. mongo. redis相关的组件. 使用组 ...
- 在kotlin companion object中读取spring boot配置文件,静态类使用@Value注解配置
在kotlin companion object中读取配置文件 静态类使用@Value注解配置 class Config {@Value("\${name}")fun setNam ...
- Kotlin 之 lateinit关键字 与lazy
前言 lateinit是许多刚进入学习kotlin常常会掉入的坑之一.很多人为了保证java原有的语法,在定义变量和对象的过程中,会使用如下的定义方式. class Demo{private var ...
- 谷歌钦定的编程语言Kotlin大揭秘
第一时间关注程序猿(媛)身边的故事 谷歌钦定的编程语言Kotlin大揭秘 语法+高级特性+实现原理:移动开发者升职加薪宝典! 谷歌作为世界级的科技公司巨头,强悍的技术研发与创新能力使其一直是业界的楷模 ...
- scala Object关键字声明的类直接调用方法、伴生对象
object Student {def test(): Unit = {println("test")} } object T5 {def main(args: Array[Str ...
- Dart语言var、dynamic、Object关键字的区别
1.var关键字 Dart语言中var关键字可以接受任何类型的变量,但是一旦赋值,类型推断就会确定这个变量的类型 ,由于Dart是个强类型语言,不能在以后的赋值中变更其类型. var age = 10 ...
- 新手入坑编程语言kotlin开局介绍篇
Kotlin语言简单概述 前言 Kotlin概述 抓住今天,尽可能少的信赖明天. 喝汤能补 (* ^ ▽ ^ *) 前言 自身技能 (1)已具备计算机的基本知识,如:计算机,程序,编程语言等 Kotl ...
- 一天一个小知识-- kt中的object关键字
最新文章
- 4 行 Python 代码获取所在城市天气预报
- wowpve服务器优势,PVE服务器法师对本职业的一点看法
- 【深入浅出-JVM】(序)
- Hadoop HA 双namenode搭建
- 利用Python把四张图片按照顺序拼接起来
- Android Bundle类别
- 下载文件byte[]
- java单例模式 三种_三种java单例模式概述
- 路长全讲座免费在线学习 免费下载
- 基于Spring Boot,使用JPA操作Sql Server数据库完成CRUD
- Oracle 9.2.0.4的一个简单安装脚本(含安装前补丁p3006854)
- Mac上mysql默认端口那件事
- 数据结构C++ 复旦大学
- java阳历转阴历_java,阳历转阴历(农历)
- 全球定位实景导航 iOS实用应用周排行
- IE浏览器设置UserAgent
- 八皇后——(第一场 递归与回溯)
- 10.24程序员日,开源社给大家送上大礼!【抢票贴】#疯狂倒计时24小时,10月24-25日I WANT YOU!#...
- #467 – 使用UniformGrid 均分行和列(Use a UniformGrid for Evenly Spaced Rows and Columns)
- H5页面在iOS11系统上白屏了,bug修复过程