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

Kotlin 对象

文章目录

  • 对象表达式(匿名对象)
  • 对象的声明

对象表达式(匿名对象)

在 Kotlin 中可以使用object {}声明一个匿名的对象,我们无需声明这个对象的类:

fun main() {val any = object {fun greet() = print("Hi")}any.greet()
}
Hi

在匿名对象中,我们能声明抽象成员。
匿名对象可以继承自类或接口,默认情况下它的类型是Any,继承后它将可以是所继承的所有类型(如果显式声明其类型,它将是声明的类型):

open class Greeter {fun greet() = print("Hi")
}interface Runnable {fun run()
}fun main() {val any = object: Greeter(), Runnable {override fun run() = println("Run")}any.run()any.greet()
}
Run
Hi

对象的声明

我们可以使用object,像定义类class那样定义一个对象:

fun interface Runnable {fun run()
}object Greeter: Runnable {fun greet() = print("Hi")override fun run() = println("Run")
}fun main() {Greeter.run()Greeter.greet()
}
Run
Hi

对象有构造函数,因为它可被实例化。
对象中能声明抽象方法,因为它可被继承。

相关文章:

  • 【机器学习】探索未来科技的前沿:人工智能、机器学习与大模型
  • SpringBoot六种API请求参数读取方式
  • 请描述Vue常用的修饰符
  • 太速科技-基于3U VPX 4核8线程I7 X86主板
  • 事务与并发控制
  • 【康耐视国产案例】AI视觉相机创新 加速商超物流数智化转型
  • sudo apt update sudo: apt: command not found
  • 【OceanBase诊断调优】—— obdiag 工具助力OceanBase数据库诊断调优(DBA 从入门到实践第八期)
  • K8s中配置使用ingress
  • 揭秘拼多多API:智能电商时代的数据驱动新篇章
  • Jmeter性能测试-【关联,提取器】
  • 【期末速成】——计算机组成原理(1)概述
  • 计算机tcp/ip网络通信过程
  • Linux文本管理四剑客001
  • 如何有效屏蔽手机上的骚扰电话20240530
  • @angular/forms 源码解析之双向绑定
  • Brief introduction of how to 'Call, Apply and Bind'
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • export和import的用法总结
  • js学习笔记
  • Redis的resp协议
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • Vue 重置组件到初始状态
  • 近期前端发展计划
  • 如何在 Tornado 中实现 Middleware
  • 事件委托的小应用
  • 思维导图—你不知道的JavaScript中卷
  • 通信类
  • 优秀架构师必须掌握的架构思维
  • 阿里云服务器购买完整流程
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • #FPGA(基础知识)
  • #WEB前端(HTML属性)
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • $ git push -u origin master 推送到远程库出错
  • ${factoryList }后面有空格不影响
  • (24)(24.1) FPV和仿真的机载OSD(三)
  • (PADS学习)第二章:原理图绘制 第一部分
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (多级缓存)多级缓存
  • (二十三)Flask之高频面试点
  • (附源码)php新闻发布平台 毕业设计 141646
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (十八)三元表达式和列表解析
  • (一)插入排序
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (转)Unity3DUnity3D在android下调试
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .Net 6.0 Windows平台如何判断当前电脑是否联网
  • .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖
  • .net中我喜欢的两种验证码