Kotlin类与对象

#一级构造函数 二级构造函数

// An highlighted block
class AnimalMain(name:String){
    init {
        println("一级构造函数")
    }
    constructor(name:String,age:Int):this(name){
        println("二级构造函数")
    }
    constructor(age:Int,name:String,color:Int):this(name)
}

#内部内

// An highlighted block
class Outer {
    private val bar: Int = 1
    inner class Inner {
        fun foo() = bar
    }
}

val demo = Outer().Inner().foo() // == 1

#抽象方法

// An highlighted block
```javascript
// An highlighted block
var foo = 'bar';

#枚举

// An highlighted block
fun test(){
    val flower = Tree.Flower("荷花")
    flower.getName()
    Tree("向日葵").Fruit("apple")
}
class Tree(var treeName:String){
    class Flower(var flowerName:String){//嵌套类
        fun getName():String{
            return "荷花"
        }
    }
    inner class Fruit(var name:String){//内部类

    }
}
fun testEnum(){
    val seasonName = Season.SPRING.seasonName
}
enum class Season(val seasonName:String){
    SPRING("春天"),
    SUMER("夏天"),
    AUTUMN("秋天"),
    WINTER("冬天")

}

#密封类

// An highlighted block
sealed class SeasonSealed{
    class Spring(var name:String)
    class Sumer(var name:String)
    class Autum(var name:String)
    class Winter(var name:String)
}

//复制类

// An highlighted block
fun testDataClass(){
//    DataClass("hello").age
    val dataClass = DataClass("apple")
    val name = dataClass.name
    val copy:DataClass = dataClass.copy(name = "pear")
 data class DataClass(var name: String){

//      val age:Int = 1
      constructor(  age: Int):this("java")
}

}

#模板

class River<T>(var name:String,var length:T){
    fun getInfo():String{
        var unit:String = when(length){
            is String -> "米"
            is Number -> "m"
            else -> ""
        }
        return "${name}长度是$length$unit"
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值