一、初识kotlin之全局变量定义(kotlin学习笔记)
语法区别
kotlin与java在定义参数上的区别,如下全局变量的定义,请通过名称对应,同一个名称在kotlin中出现多次表示这个变量有多种定义方式
全局变量定义区别
-
Java
private final int num1 = 10; private final String str1= "1234"; private int num2; private String str2; private Student student; public static final int num3 = 10; public static final String str1 = "str"; public static int num4 = 11; public static int num5 ; public static String str2;
-
kotlin
private val num1 = 10 private val str1= "1234" private var num2 = 0 // kotlin中没有int,也没有Integer,只有Int,需要默认给 0 private num2 by Delegates.notNull<Int>() // 其他如Long,Double,Float等数字类型相似 private lateinit var str2: String private var str2: String? = null private var student: Student? = null // 实体、类等基本如此定义 private lateinit var student: Student companion object { val num3 = 10 val str1 = "str" var num4 = 11 var num5 = 0 // 另外定义方法看前面 var str2: String? = null // 另外定义方法看前面 }
通过以上可以很清楚的看出一些语法上的不同,主要体现在
- 不需要使用分号结尾
- 没有所谓的public,只要是加了private就是public
- static变量需要用 companion object {} 包裹才能在外部直接访问
- 没有int,double这些类型,所有的基础类型都是对象,相对与java来说更加的面向对象一些,即一切都是对象,所以在面对这些类型的时候我们需要给默认值0(其他也是可以哈,但是默认一般都是0,指在全局变量的情况下,局部变量可以不赋值)
上一篇:
通过多线程提高代码的执行效率例子
下一篇:
使用消息队列完成微信支付(含内网穿透)