Kotlin基础-类和属性
Java定义一个Person类1
2
3
4
5
6
7
8
9
10
11
12/*java*/
public class Person {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Person转换成Kotlin类
这种类通常(只有数据没有其他代码)被叫做值对象,在Kotlin中public是默认的可见性,可省略
1 | class Person(val name: String) |
2.1 属性
类的概念:把数据和处理数据的代码封装成一个单一的实体。
属性:* 在Java中,字段和其访问器的组合被叫做属性 * 在Kotlin中,属性是头等的语言特性,完全替代了字段和访问器方法。
属性的声明: 使用val
(只读)和var
(可变)关键字。
当声明属性的时候,就声明了对应的访问器,只读属性有一个getter,而可变属性既有getter也有setter。
1
2
3
4
5
6
7
8
9
10 class Person {
val name: String = "sun__xin"
var isMarried: Boolean = false
}
fun main(args: Array<String>): Unit {
val person = Person()
person.isMarried = false
println("Hello,${person.name}")
}
在Kotlin中,调用构造方法不需要使用关键字new
,可以直接访问属性,调用的是getter。
2.2 自定义访问器
1 | class Rectangle(val height: Int, val width: Int) { |
2.3 Kotlin源码布局:目录和包
Kotlin不区分导入的是类还是函数,允许使用
import
关键字导入任何种类的声明。也可以直接导入顶层函数的名称在包名称后面加上
.*
来导入特定包中定义的所有生命。不仅让包中定义的类可见,也会让顶层函数和属性可见。在Kotlin中,可以把多个类放在同一个文件中