本节介绍kotlin的data class(数据类) 1、数据类的定义和反编译分析 在Java中数据类中具有的 getter,setter方法,可以通过 IDEA或者eclipse来生成代码,但是有很多的冗余 当然我们也可以使用Java的插件,lombok,仅用几个注释就能解决。 1.1、数据类的定义 但是在kotlin中,我们可以直接使用data关键字来定义数据类 注意数据...
dataclassPerson(valname: String){valage:Int=0} Kotlin 中的 sealed class sealed class是一种同时拥有枚举类enum和 普通类class特性的类,叫做密封类。使用起来很简单,如下 sealedclassResultclassSuccess(valcode:Int):Result()classException(valcode:Int,valmessage:String):Result() 在同一个 kotlin 文件中声明...
(在 Kotlin 1.1 之前,该规则更加严格:子类必须嵌套在密封类声明的内部)。 sealedclassExpr dataclassConst(val number: Double) : Expr() dataclassSum(val e1: Expr, val e2: Expr) : Expr()objectNotANumber : Expr() //上文示例使用了Kotlin1.1的一个额外的新功能:数据类扩展包括密封类在内的其他类的...
data class User(val name: String, val age: Int) 1. 2. 3. 4. 5. 6. 7. 8. 可以看到,这里的User数据类,我们声明之后,调用copy函数,改变年龄为19,然后输出 二.泛型 泛型很常见,相信大家都熟悉 class Box<T>(t: T) { var value = t } 1. 2. 3. 4. 5. 1.型变 JAVA中有通配符这一说...
使用data class的一大好处就是不用自己写一堆toString()方法的代码了。 一个简单的类的写法: 代码语言:javascript 复制 classUser(varname:String,varage:Int){} 如果我们想打印这个类的一个对象的属性值,一般直接调用toString() 但是如果不重写,打印出来的就是对象的地址 ...
类委托(Class delegation) 等等... 基本语法 (Basic Syntax ) 变量(Variables) 基本数据类型( Basic Data Type ) 空安全(Null Safety ) 函数声明( Define Function ) 让函数更好的调用( Making functions easier to call ) 命名参数/具名参数 (Named arguments) 参数默认...
data class Person( var name: String, var age: Int, var height: Float, var weight: Float) 这个数据类,它会自动生成所有属性和它们的访问器,以及一些有用的方法,比如toString()方法。 这里插一嘴,从上面的例子中我们可以看到对于包的声明基本是一样的,唯一不同的是kotlin中后面结束不用分号。
data class就是一个类中只包含一些数据字段,类似于vo,pojo,javabean。一般而言,我们在Java中定义了这个数据类之后要重写一下toString,equals等方法。要生成get,set方法。 然而在Kotlin中这些都不在需要自己手动去敲了,编译器在背后默默给我们生成了如下的东西: ...
Koltin 数据类 ,就是用于存放数据的类,等价于 POJO(Plain Ordinary Java Object)。要定义一个数据类,我们只需要在普通的类前面加上一个关键字 data,就可以把它变成一个"数据类"。 // 数据类当中,最少要有一个属性 ↓ data class Person(val name: String, val age: Int) ...
// 类似下面两种情况的,都必须存在constructor关键字,并且在修饰符或者注释符后面。classTestprivateconstructor(num: Int){ }classTest@Injectconstructor(num: Int){ } 2、辅助(二级)构造函数 Kotlin中支持二级构造函数。它们以constructor关键字作为前缀。