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/
网友评论