@[toc]
data类
在Java中,我们在信息类创建信息类时总是伴随大量getter/setter方法,虽然可以用工具自动生成,但也影响美观。Kotlin中使用data类型帮助我们解决了这个问题。
data class User(
var name: String,
var age: Int
)
在编译时,根据主构造器中的参数会自动生成getter/setter,hashcode(),toString(),equals(),copy()等方法。
我们无法直接调用getter/setter 方法,但我们对它的操作上本质上都是通过调用
getter/setter方法实现的。
data class User(
var name: String,
var age: Int
)
设置和修改变量的值
var user = User("mao", 18)
user.name = "zhang"
user.age = 3
copy()
当我们想将对象复制一份时,可用copy()方法:
var user = User("mao", 18)
var user2 = user.copy()
如果想改变某个变量:
var user=User("mao",18)
var user2=user.copy(age=100)
enum类
与java不同,Kotlin中enum当做class的修饰符使用
- 1.常见用法:
enum class Direction {
NORTH, SOUTH, WEST, EAST
}
- 2.有成员属性时:
enum class Color(val rgb: Int) {
RED(0xFF0000),
GREEN(0x00FF00),
BLUE(0x0000FF)
}
打印成员的值
print(Color.RED.rgb)
网友评论