二、Kotlin学习之类和属性
一、类
在java中写一个JavaBean类代码比较多
public class Person {
private final String name;
public PersonJava(String name) {
this.name = name;
}public String getName() {
return name;
}
}
但是上面的java代码在kotlin中一行就可以搞定
class Person(val name: String)
这种类(只有数据没有其他代码)通常被叫做值对象kotlin中public是默认可见性,所以可以省略。
public class Person(var name: String)
二、属性 当你声明属性的时候,就声明了对应的访问器(var属性既有getter和setter,到那时val属性只有getter)
class Person(var name: String, val age: Int)fun main() {
var person = Person("lynnlee", 30)//创建对象不需要关键字new
println(person.name)//可以直接访问属性,但调用的是getter
println(person.age)
person.name = "temo"//可以直接修改属性,但调用的是setter
println(person.name)//打印结果temo
}
【二、Kotlin学习之类和属性】自定义访问器
声明一个矩形类,判断是否为正方形。自定义isSquare的getter访问器
fun main() {
val rectangle = Rectangle(20,20)
println(rectangle.isSquare)
}class Rectangle(val width: Int, val height: Int) {
var isSquare: Boolean = false//必须初始化
get() {//声明属性的getter
return width == height
}
}
推荐阅读
- EffectiveObjective-C2.0|EffectiveObjective-C2.0 笔记 - 第二部分
- 一个人的碎碎念
- 野营记-第五章|野营记-第五章 讨伐梦魇兽
- 遇到一哭二闹三打滚的孩子,怎么办┃山伯教育
- Shell-Bash变量与运算符
- 赢在人生六项精进二阶Day3复盘
- 清明,是追思、是传承、是感恩。
- 2019年12月24日
- 陇上秋二|陇上秋二 罗敷媚
- 牛人进化+|牛人进化+ 按自己的意愿过一生