美文网首页
Kotlin 笔记(三)——类和属性

Kotlin 笔记(三)——类和属性

作者: 珞神 | 来源:发表于2017-08-15 16:09 被阅读0次

测试环境:

  • Kotlin 1.1.3

本文拿最常用的 JavaBean 来举例说明

一、javaBean 转 KotlinBean:

  • java 中的 bean
public class JavaBean1 {
    
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
  • 上方的 javaBean 等价于 kotlin 中的
class KotlinBean(var name: String, var age: Int) {

}

分析:

  1. 看下 KotlinBean 如果创建对象和调用 getter 和 setter 方法
//创建一个对象
val kotlinBean = KotlinBean("珞神", 26)
//调用 getter 方法
 val name = kotlinBean.name
//调用 setter 方法
kotlinBean.name = "zhangsan"
  1. 如果声明变量的关键字 var 改为 val ,则只具备 getter 方法

  2. KotlinBean 也可以改编成下方这种方式

class KotlinBean() {
    
    //必须要赋值才行,这点跟 java 定义变量不一致
    var name  = "" 
    
    var age = 0
}

二、自定义属性访问器

  • 看代码:
class KotlinBean(var name: String, var age: Int) {

    val data: String
        get() {
            return name + age
        }
}

分析:
这个 data 属性使我们自己定义的,花括号内的是具体的逻辑,也就是这个属性值的定义算法,花括号外的是具体的格式

  • 代码也可以简写为如下所示,省略大括号
class KotlinBean(var name: String, var age: Int) {
    val data: String get() = name + age
}

三、 类的继承和实现

  • 在类名之后使用冒号 然后后边跟接口和父类,中间用逗号隔开,如下所示:
class MainActivity : AppCompatActivity(),View.OnClickListener {
}

相关文章

网友评论

      本文标题:Kotlin 笔记(三)——类和属性

      本文链接:https://www.haomeiwen.com/subject/kflvrxtx.html