kotlin当中不Java的写法
时间:2020-03-27
本文章向大家介绍kotlin当中不Java的写法,主要包括kotlin当中不Java的写法使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
kotlin当中不Java的写法
Constructor
- Java 中构造器和类同名,Kotlin 中使用
constructor
表示。 - Kotlin 中构造器没有 public 修饰,因为默认可见性就是公开的。
init
final
- 成员变量val表示只读
- 参数默认是 val 类型
- 局部变量
val自定义getter
static property/function
-
object(单例、继承与实现接口、匿名类)
-
companion object
top-level property/function声明
常量
- Kotlin 的常量必须声明在对象(包括伴生对象)或者「top-level 顶层」中,因为常量是静态的。
- Kotlin 新增了修饰常量的
const
关键字。 - Kotlin 中只有基本类型和 String 类型可以声明成常量。
数组和集合
- 数组:
- Kotlin 中的数组是一个拥有泛型的类,创建函数也是泛型函数,和集合数据类型一样。
- 取值和修改
- 不支持协变
- 集合
- Kotlin 和 Java 一样有三种集合类型:List、Set 和 Map
- 取值和修改
- 可变集合/不可变集合
- 除了集合 Kotlin 还引入了一个新的容器类型
Sequence
,它和Iterable
一样用来遍历一组数据并可以对每个元素进行特定的处理
可见性修饰符
public
:公开,可见性最大,哪里都可以引用。private
:私有,可见性最小,根据声明位置不同可分为类中可见和文件中可见。protected
:保护,相当于private
+ 子类可见。internal
:内部,仅对 module 内可见。
参考
原文地址:https://www.cnblogs.com/chen-ying/p/12583901.html
- Android新手之旅(8) ListView的使用
- 更换Ubuntu源为国内源的操作记录
- Android新手之旅(8) ListView的使用
- CKEditor/CKFinder升级心得
- Docker容器学习梳理-Dockerfile构建镜像
- 再谈web开中几种经典的大文件上传组件
- Nginx负载均衡中后端节点服务器健康检查的操作梳理
- Linux系统下CPU使用(load average)梳理
- 基于组件的.NET技术(5)
- Silverlight与WPF中BeginInvoke的差异
- Linux下部署SSH登录时的二次身份验证环境记录(利用Google Authenticator)
- Linux下DNS简单部署(主从域名服务器)
- 本地yum源部署记录
- silverlight4:摄像头占用状态检测以及二种截屏方法
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 前后端数据交互-json 你还不会传集合吗?
- 动态规划-背包问题(01背包、完全背包、多重背包)
- 疫情数据分析与展示--小程序版
- 动态规划-LCS、LIS
- 图书管理系统设计与实现—看这篇就够了
- 动态规划-区间DP
- 动态规划-树形DP
- 面试官:你精通多少种语言的 Hello World?
- Redis安装(Windows和Linux)详细图解
- 史上最详细版 头文件biso.h,graphics.h,libbgi.a
- ZooKeeper入门,这一篇给你讲的明明白白
- 数论-GCD、LCM、扩展欧几里得
- “豪 横”版 channel_v3.json,你确定不需要?
- Redis-性能测试(redis-benchmark)
- 一条贪吃蛇的使命——零基础入门贪吃蛇游戏