为了账号安全,请及时绑定邮箱和手机立即绑定

KOTLIN新手入门 关于内部类的属性set get方法

KOTLIN新手入门 关于内部类的属性set get方法

智慧大石 2018-08-15 13:10:16
package practiceopen class Parent{open val name="BABA"val money=5get(){println("获取B属性值")return field}}open class Child: Parent(){override var name="ERZI"var age=1// val money=2 不允许重写(覆盖父属性)get(){println("获取E属性值{$field}")return field}set(value) {field=valueprintln("写入{$field}")}}fun main(args: Array<String>) {var child=Child();child.name="ss"child.age=2println( child.name)println( child.age)}写入{2} ss 获取E属性值{2} 2 上面是打印结果 打印结果 :只有age才调用了set get方法 name没有调用 为什么?
查看完整描述

1 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

kotlin每定义一个属性 会默认生成一个getter和setter方法 所以若要重写也就是覆盖默认方法。需要在每一个属性下面重写get set才可以
var name=4
get(){
println("获取E属性值{$field}")
return field
}
set(value) {
field=value
println("写入{$field}")
}

 var age=1get(){    println("获取E属性值{$field}")    return field
}set(value) {
    field=value    println("写入{$field}")
}


查看完整回答
反对 回复 2018-08-29
  • 1 回答
  • 0 关注
  • 2897 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信