美文网首页
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