从零开始学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. windows下mysql和linux下mysql主从配置

    1. linux下mysql安装版本5.6   windows下mysql版本5.7  不要问我为什么版本不一致  就是想这么搞 2. linux为主服务器   windows为从服务器 3.找到li ...

  2. Linux命令——文件和目录管理

    Linux命令--文件和目录管理 基本命令 命令ls 作用:显示目录下的文件和文件夹 说明:默认显示当前目录,可跟路径参数 参数:-a,显示隐藏目录 参数:-l,显示文件权限 参数:-d,显示文件最后 ...

  3. python学习课件

    张鑫 18511446896 ------------------------------------------------------------------------------------- ...

  4. 配置typeAliasesPackage支持通配符包路径扫描

    mybatis的xml文件中需要写类的全限定名,较繁琐,可以配置自动扫描包路径给类配置别名,两种配置方式. 方式一: mybatis-config.xml中配置 <typeAliases> ...

  5. OpenCV——使用多边形包围轮廓

  6. 【转】阿里云Ubuntu系统搭建SVN服务器

    ##SVN服务器相关软件安装 1.使用SSH远程服务器 (1)对于MAC OS/Liunx的用户直接打开终端输入 ssh  用户名@实例名,例如 ssh root@192.168.1.100 执行上面 ...

  7. 第16章 STM32中断应用概览

    第16章     STM32中断应用概览 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fi ...

  8. 极客互联网电视不是噱头,用户体验成创维G7200核心竞争力

        IT产业的迅猛发展带动了智能设备的崛起与繁荣,除已经高度普及的智能手机之外.智能电视.智能可穿戴设备等一大批新兴产品更是让消费者充分感受到了智能科技为生活所带来的变化.以智能电视为例,除了乐视 ...

  9. 一文让您全面了解清楚HBase数据库的所有知识点,值得收藏!

    一.HBase基本概念:列式数据库 在Hadoop生态体系结构中,HBase位于HDFS(Hadoop分布式文件系统)的上一层,不依赖于MapReduce,那么如果没有HBase这种Nosql数据库会 ...

  10. ISCSI工作流程target和initiator

    随着企业级的数据呈指数增长,传统的集中式存储方案已无法满足其存储要求,因而存储区域网(storage area network,SAN)技术被广泛应用,但其存在距离短.价格贵和构建复杂等不足.基于iS ...