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

}

相关推荐
长河10 小时前
基于 Jib 实现无 Dockerfile 的 Spring Boot 应用容器化
java·spring boot·后端
Maiko Star10 小时前
Spring AI ChatClient 完全指南:从基础配置到流式调用
java·人工智能·spring
l1t11 小时前
类似 X-13ARIMA-SEATS 功能的 JDemetra+ 安装和使用
java·数据库·r语言
架构源启11 小时前
2026 进阶篇:深入理解Spring Reactor响应式编程的核心引擎(源码级解析+实战避坑)
java·后端·spring
薪火铺子11 小时前
SpringMVC请求处理流程源码解析(第2篇):处理器执行与参数绑定
java·后端·spring
SamDeepThinking11 小时前
一个跑了三年没出过问题的系统,我是怎么设计的
java·后端·架构
逸Y 仙X11 小时前
文章十七:ElasticSearch get\search查询相关参数
java·大数据·elasticsearch·搜索引擎·全文检索
leonidZhao11 小时前
Java25新特性:JFR CPU时间性能分析
java
千码君201611 小时前
flutter: 分享一下基于trae cn 构建的过程
java·vscode·flutter·kotlin·trae
weisian15111 小时前
Java并发编程--51-详解RocketMQ:高可靠消息中间件的核心特性与生产实践
java·rocketmq·java-rocketmq·事务消息