快捷搜索: 王者荣耀 脱发

一、初识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 // 另外定义方法看前面
}

通过以上可以很清楚的看出一些语法上的不同,主要体现在

  1. 不需要使用分号结尾
  2. 没有所谓的public,只要是加了private就是public
  3. static变量需要用 companion object {} 包裹才能在外部直接访问
  4. 没有int,double这些类型,所有的基础类型都是对象,相对与java来说更加的面向对象一些,即一切都是对象,所以在面对这些类型的时候我们需要给默认值0(其他也是可以哈,但是默认一般都是0,指在全局变量的情况下,局部变量可以不赋值)
经验分享 程序员 微信小程序 职场和发展