美文网首页
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