Kotlin学习(7)-类和对象之类的继承、接口

1.普通类

Kotlin如同Java一样也拥有一个超类——Any(Java是Object),Any提供了3个方法:equals()、hashCode()和toString()。Kotlin中的类默认都是不可以继承的,如果想要继承一个类则需要添加关键字"open"。

open class Fruit(var area: String = "上海") {
    //...
}


//父类Fruit已经在构造函数中声明了属性,子类就不需重复声明(不需要添加val/var)
class Apple(area: String = "陕西") : Fruit(area) {
    
}

kotlin中的权限修饰符与Java大体一样,除了private,protected,public外,又增加了一个internal修饰符。internal代表范围是只对本模块内部开放。

2.抽象类继承

抽象类的关键字是“abstract”,抽象类不能实例化,构造函数也不需要提供默认参数值。

abstract class Animal {
        
    abstract fun getLikeFood():String
}

//子类继承Animal(),
class Rabbit(var food: String) : Animal() {

    override fun getLikeFood(): String {
        return food
    }
}

class Monkey(var food: String) : Animal() {
    override fun getLikeFood(): String {
        return food
    }
}

//实例化子类,输出具体动物喜爱的食物
var rabbit = Ra
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值