Kotlin 创建对象并赋值
时间: 2023-03-29 18:00:30 浏览: 90
可以使用以下语法创建对象并赋值:
```
val person = Person("John", 30)
```
其中,`Person` 是一个类名,`John` 和 `30` 是该类的构造函数参数。这行代码创建了一个名为 `person` 的对象,并将其赋值为一个 `Person` 类型的实例,该实例的名称为 `John`,年龄为 `30`。
相关问题
kotlin 匿名对象
Kotlin 中的匿名对象是一种特殊的对象,它可以用作类的子类,也可以用作接口的实现。匿名对象可以在不创建具体类的情况下定义一个对象,它通常用于临时的、一次性的场景。
以下是一个使用匿名对象的示例:
```
interface OnClickListener {
fun onClick()
}
class Button {
fun setOnClickListener(listener: OnClickListener) {
// ...
}
}
fun main() {
val button = Button()
button.setOnClickListener(object : OnClickListener {
override fun onClick() {
println("Button clicked!")
}
})
}
```
在上面的示例中,我们定义了一个 `OnClickListener` 接口和一个 `Button` 类。 `Button` 类有一个 `setOnClickListener` 方法,它接受一个实现了 `OnClickListener` 接口的对象作为参数。在 `main` 函数中,我们创建了一个 `Button` 对象,并使用匿名对象实现了 `OnClickListener` 接口,然后将这个对象传递给了 `setOnClickListener` 方法。
需要注意的是,匿名对象是没有类型的,因此不能将其赋值给一个变量。如果需要多次使用同一个匿名对象,可以将其赋值给一个变量,或者使用对象表达式。对象表达式可以用于创建具体的对象,它与匿名对象类似,但是具有类型。例如:
```
val myObject = object : MyInterface {
// ...
}
```
kotlin job.mapperClass赋值
在 Kotlin 中,可以使用 `job.mapperClass` 属性来为 Job 对象的 `mapperClass` 属性赋值。`mapperClass` 属性用于指定用于映射任务的 Mapper 类。
下面是一个示例代码,展示了如何给 `mapperClass` 赋值:
```kotlin
import org.apache.hadoop.mapreduce.Job
fun main() {
val job = Job.getInstance()
job.mapperClass = MyMapper::class.java
}
class MyMapper : org.apache.hadoop.mapreduce.Mapper<KEYIN, VALUEIN, KEYOUT, VALUEOUT>() {
// 实现 Mapper 的方法
// ...
}
```
在上面的示例中,我们创建了一个 `Job` 对象,并使用 `job.mapperClass` 将 `MyMapper::class.java` 赋值给 `mapperClass` 属性。`MyMapper` 是自定义的 Mapper 类,需要继承自 Hadoop 的 `Mapper` 类,并实现相应的方法。
请注意,这只是一个简单的示例,实际使用时需要根据具体的需求进行适当的修改。