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

测试环境:

  • 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 {
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容