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

}

相关推荐
Knight_AL1 天前
Spring AOP 中 JoinPoint 使用指南
java·python·spring
jmxwzy1 天前
点赞系统问题
java·redis·tidb·pulsar
ss2731 天前
ThreadPoolExecutor:自定义线程池参数
java·开发语言
invicinble1 天前
关于fastjson的具体使用案例
java
墨着染霜华1 天前
Spring Boot整合Kaptcha生成图片验证码:新手避坑指南+实战优化
java·spring boot·后端
码界奇点1 天前
Java外功核心7深入源码拆解Spring Bean作用域生命周期与自动装配
java·开发语言·spring·dba·源代码管理
czlczl200209251 天前
Spring Security @PreAuthorize 与自定义 @ss.hasPermission 权限控制
java·后端·spring
我爱学习好爱好爱1 天前
Prometheus监控栈 监控java程序springboot
java·spring boot·prometheus
老华带你飞1 天前
考试管理系统|基于java+ vue考试管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
阿蒙Amon1 天前
C#每日面试题-属性和特性的区别
java·面试·c#