【Get.Set方法】java-kotlin

java中

例如:一个学生类Student,
有属性:学号no,名字:name,将其定义为私有。

  1. 符合私有非公开的逻辑意义,封装性。
  2. 其二是通过get和set方法通过setter方法再进行赋值的话,就可以对传入的数据进行筛选,功能性。
public void setAge(int age) {
    
    
if(0<age<150){
    
    
               this.age = age;//加入逻辑,使得数据符合我们的要求
         }        
}
  1. 多线程时,不能用synchronized去修饰一个变量,这样就不能保证的安全性。

但实际上公有/私有也是通过对象调用的,最简单的对象完全可以不用get/set方法,就好像我想知道自己的名字,还要通过get名字来实现。静态方法或者一公(提供外部访问)一私(真实数据)private的功能性更明确一些。这么写为了以后功能方便拓展->所以kotlin出现默认的get/set,默认可以不声明私有,如果想有功能性也可以再写出来拓展

Kotlin

  1. 初始
class Test {
    
    
    var str: String? = null
    var count: Int = 0
}
  1. 加入赋值的条件需求后
class Test {
    
    
    var str: String? = null
        get() {
    
    
            return field//这里的field指的是str
        }
        set(value) {
    
    //传入的值value
       	    if(value>1000)
            field = value
            else
            field=-1
        }
}

精简Room实体

在这里插入图片描述

  1. 假设自己写了get/set方法,调用也只需要直接访问即可
    在这里插入图片描述
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_38304672/article/details/110876306