Kotlin日常学习

今天来说一下所增添的Kotlin学习内容。
首先说一下Kotlin的伴随(生)对象:

           在Kotlin中,有一个关键字 companion,可以用来标记对象声明。
            先来看一下代码:
                例:
                        class Books(var name: String, val page: Int) {
                          companion object ComBooks{
                               val a : Int = 10
                                   fun doNote() {
                                       println("do note")
                                       }
                                     }
                                  }

          fun main(args: Array<String>) {                                  
            Books.ComBooks.doNote()

            println("Book.a = ${

            Books.ComBooks.a}")   

             println("-------------")   

              Books.doNote()

              }

我们可以看出 伴随对象的调用不用创建包含伴随对象的实例,调用方式有两种,一种是类名.伴随对象.XX,另外一种方式是类名.XX。

二、Kotlin枚举
枚举类最基础的用法是实现一个类型安全的枚举,
枚举常量用逗号分隔,每个枚举常量都是一个对象。

 例:
 enum class Lang {
ENGLISH,
CHINESE;
}

enum class Season(val  seasonName:String){
SPPING(“春天”),
SUMER(“夏天”),
  AUTUMN(“秋天”),
  WINTER(“冬天”)
  }

三、Kotlin的sealed密封类

我们有一个具有特定数量的子类的类。最后,我们得到的结论是非常类似枚举的概念。所不同的是,在枚举中,我们每个类型只有一个对象;而在密封类中,同一个类可以拥有几个对象。

那怎么使用sealed密封类呢?
如下:

        例:
        sealed class Opertertion {
               class Add(val value: Int) : Operation()
               class Substract(val value: Int) : Operation()
               class Multiply(val value: Int) : Operation()
              class Divide(val value: Int) : Operation()
          }

创建一个名为 Opertertion的密封类,它里面包含四种操作:加法,减法,乘法和除法。

四、Kotlin的面向对象 抽象类
抽象类:

         写个抽象类,里面写抽象方法
         abstract class Human(name:String){  
           abstract fun eat()
           }

子类:

           class Woman(name:String):Human(name){
           //  把构造方法参数赋值给变量   
            var name :String =name;   
             override fun eat() {  
                  Log.e("111",name+"爱吃鱼>>>");   
                   }
                }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值