美文网首页
kotlin基本语法

kotlin基本语法

作者: wangxiaojin | 来源:发表于2020-11-23 14:15 被阅读0次

kotlin基础

   //var 变量; val 常量
    //?可以为空  没有?不能为空
    var name: String? = null
    //?. 为空返回null 不做处理
    var nameLength = name ?.length
    System.out.println("?.===>" +nameLength)
    //?: 为空处理掉
    var name1 = name ?: "我为空"
    System.out.println(name1)



构造方法

class User {
    val id: Int
    val name: String
    init {
        // 初始化代码块,先于下面的构造器执行
    }
    constructor(id: Int, name: String) {
   //没有 public
        this.id = id
        this.name = name
    }
}

//简便写法  (主构造函数)
class User constructor(name: String) {
    // 这里与构造器中的 name 是同一个
    var name: String = name
}
通常情况下,主构造器中的 constructor 关键字可以省略:
class User (name: String) {
    var name: String = name
}


class User constructor(var name: String) {
     //  直接调用主构造器
    constructor(name: String, id: Int) : this(name) {
    }
     //  通过上一个次构造器,间接调用主构造器
    constructor(name: String, id: Int, age: Int) : this(name, id) {
    }
}


单例使用关键词object

object Sample {
//单例中所有变量和方法都是静态的Java中的static
    val name = "A name"
}


//内部静态变量
class A {
                //  B 没了
    companion object {
        var c: Int = 0
    }
}

top-level property / function


//  属于 package,不在 class/object 内
fun topLevelFuncion() {
}

常量

//java写法
public static final int CONST_NUMBER = 1;
    companion object {
        const val CONST_NUMBER = 1
    }

== :可以对基本数据类型以及 String 等类型进行内容比较,相当于 Java 中的 equals
=== :对引用的内存地址进行比较,相当于 Java 中的 ==

声明:文章学习与 https://kaixue.io/tag/kotlin-basic/

相关文章

网友评论

      本文标题:kotlin基本语法

      本文链接:https://www.haomeiwen.com/subject/sutviktx.html