kotlin get() 与 set()

class Person {

var name: String = "John Doe"

get() {

println("Getting the name: $field")

return field

}

set(value) {

println("Setting the name to: $value")

field = value

}

复制代码
var age: Int = 0
    get() {
        println("Getting the age: $field")
        return field
    }
    set(value) {
        if (value >= 0) {
            println("Setting the age to: $value")
            field = value
        } else {
            println("Age cannot be negative")
        }
    }

}

fun main() {

val person = Person()

复制代码
person.name = "Alice"
println(person.name)

person.age = 25
println(person.age)

person.age = -5

}

相关推荐
故渊ZY4 分钟前
MyBatis事务原理与实战指南
java·mybatis
HTouying34 分钟前
线程池【工具类】
java
深盾科技40 分钟前
融合C++与Python:兼顾开发效率与运行性能
java·c++·python
我待_JAVA_如初恋40 分钟前
idea创建MavenJavaWeb项目以后,包结构缺java
java·ide·intellij-idea
来深圳1 小时前
leetcode 739. 每日温度
java·算法·leetcode
CC大煊1 小时前
【java】Druid数据库连接池完整配置指南:从入门到生产环境优化
java·数据库·springboot
zhangphil1 小时前
Kotlin协程flow缓冲buffer任务流,批次任务中选取优先级最高任务最先运行(二)
kotlin
JIngJaneIL1 小时前
基于java+ vue交友系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·交友
苹果酱05671 小时前
解决linux mysql命令 bash: mysql: command not found 的方法
java·vue.js·spring boot·mysql·课程设计
程序员飞哥2 小时前
这样做的幂等也太全了吧
java·后端·spring