从零开始学Kotlin基础篇系列文章

定义接口

  • 使用关键字interface定义接口
    interface InterfaceDemo7 {
}
  • 类或对象可以实现一个或者多个接口
    class demo7 : InterfaceDemo7 {
}
class demo : InterfaceDemo71, InterfaceDemo72 {
}

接口中定义属性

  • 接口中的属性只能是抽象的,不允许初始化值
    interface InterfaceDemo7 {
val name: String
var gender:String
}
  • 类实现接口的属性:接口中的属性只能是抽象的,不允许初始化值,接口不会保存属性值,实现接口时,必须重写属性
    class demo7 : InterfaceDemo7 {
override val name: String = "SiberiaDante"
override var gender: String = "男"
}

接口中定义方法

  • 接口中定义方法,方法可以直接被实现,也可以不实现
    interface InterfaceDemo7 {
fun voidOne()//定义一个方法,子类必须要实现该方法
fun voidTwo() {//定义一个方法,并实现;子类可以不实现该方法
print("接口已经实现了这个方法")
}
}
  • 类实现接口并实行其中的方法
    class demo7 : InterfaceDemo7 {
override fun voidOne() {//实现接口中未实现的方法子类必须要实现
}
// override fun voidTwo() {//接口中实现的方法,子类可以不实现
// super.voidTwo()
// }
}
  • 类实现多个接口,且接口有一个共同的方法,需要指明类如何实现它们:使用super.<接口名>.方法名指定使用哪个方法
    interface InterfaceDemo71 {
fun showName()
fun showAge() {
print(18)
}
}
interface InterfaceDemo72 {
fun showName() {
print("SiberiaDante")
}
fun showAge() {
print(18)
}
}
    class demo : InterfaceDemo71, InterfaceDemo72 {
override fun showName() {
}
override fun showAge() {//两个接口都有showAge()方法
super<InterfaceDemo71>.showAge()//使用super.<接口名>.方法名指定使用哪个方法
super<InterfaceDemo72>.showAge()
}
}

从零开始学Kotlin-使用接口(7)的更多相关文章

  1. 从零开始学Kotlin第六课

    Kotlin调用java代码: 1.如果是内部工程的类,直接调用,如果是外部的工程项目按照java的方式将jar包导入进来. 2.实例化java对象 我们之前学java的时候实例化对象是这个样子的. ...

  2. 从零开始学Kotlin第四课

    面向对象: //妹子 性格 声音 class Girl(var chactor:String,var voice:String) fun main(args: Array<String>) ...

  3. 从零开始学Kotlin第七课

    1.强制类型转换需要在后面加两个感叹号 2.如果需要在java代码调用kotlin的方法时候使用文件名+kt.方法 3.object 类名 是创建匿名内部类的写法 调用 传入class对象 4.在to ...

  4. 从零开始学Kotlin第三课

    kotlin函数和函数式表达式的简化写法: fun main(args:Array<String>) { var result=add(2,5) println(result) ///简化 ...

  5. 从零开始学Kotlin第一课

    Kotlin的方法: 一个简单的计算器: fun main(args:Array<String>){ //主函数main方法 var a=8; var b=9; println(plus( ...

  6. 从零开始学Kotlin第五课

    函数式编程入门: package EL fun main(args: Array<String>) { var names= listOf<String>("tom& ...

  7. 从零开始学Kotlin第二课

    字符串模板 fun main(args:Array<String>){ //主函数main方法 println(diaryGenerater("天安门")); } // ...

  8. 从零开始学Kotlin-枚举(9)

    从零开始学Kotlin基础篇系列文章 枚举的定义 一个类的对象是有限且固定的,这种实例有限且固定的类称为枚举类; 枚举常量用逗号分隔,每个枚举常量都是一个对象; enum class EnumDemo ...

  9. 从零开始学Kotlin-泛型(8)

    从零开始学Kotlin基础篇系列文章 与 Java 一样,Kotlin 也提供泛型,为类型安全提供保证,消除类型强转的烦恼. 泛型类的基本使用 泛型,即 "参数化类型",将类型参数 ...

随机推荐

  1. 青岛大学开源OJ平台搭建

    源码地址为:https://github.com/QingdaoU/OnlineJudge 可参考的文档为:https://github.com/QingdaoU/OnlineJudgeDeploy/ ...

  2. iis配置绑定二级域名的问题

    最近用destoon给客户做一个网站,涉及到站内企业网站的二级域名解析的问题,iis怎么配置绑定子目录绑定二级域名呢,查了好多资料,没有一个给出具体步骤的 基本是一些概念,不过看了这些东西基本理解了泛 ...

  3. cf244D. Match &amp; Catch 字符串hash (模板)或 后缀数组。。。

    D. Match & Catch 能够用各种方法做.字符串hash.后缀数组,dp.拓展kmp,字典树.. . 字符串hash(模板) http://blog.csdn.net/gdujian ...

  4. R 语言-基础

    R语言 1997年成为GNU项目 开源免费 R官方网址 www.r-project.org R是数据分析领域的语言小巧灵活,通过扩展包来增强功能绘图功能代码简单 开发环境R + RStudio 1.数 ...

  5. canvas绘画基础(一):认识canvas画布

    html5提供了一个<canvas>标签,结合javascript的canvas api接口可以用来绘制图形和动画.最近工作中涉及到画图的任务,下面来了解一下canvas的基础:canva ...

  6. Spring Data JPA、MyBatis还有Hibernate有什么区别

    原文:https://www.imooc.com/article/19754?block_id=tuijian_wz Spring Data JPA.MyBatis还有Hibernate有什么区别 2 ...

  7. 大数据入门第十九天——推荐系统与mahout(一)入门与概述

    一.推荐系统概述 为了解决信息过载和用户无明确需求的问题,找到用户感兴趣的物品,才有了个性化推荐系统.其实,解决信息过载的问题,代表性的解决方案是分类目录和搜索引擎,如hao123,电商首页的分类目录 ...

  8. jQuery.bsgrid

    http://thebestofyouth.com/bsgrid/ 支持json.xml数据格式,皮肤丰富并且容易定制,支持表格编辑.本地数据.导出参数构建等实用便捷的功能,容易扩展,更拥有丰富的示例 ...

  9. 20155238 2016-2017-2 《JAVA程序设计》第九周学习总结

    教材学习内容总结 第十六章 JDBC SQL的解决方案是JDBC,在Java中,JDBC API主要用来存取数据库. *JDBC API是一个Java API,可以访问任何类型表列数据,特别是存储在关 ...

  10. 20155304《网络对抗》Exp8 Web基础

    20155304<网络对抗>Exp8 Web基础 实践要求 (1).Web前端HTML 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的H ...