Kotlin学历之抽象类与接口

简介: Kotlin学历之抽象类与接口

简述


Kotlin 中的抽象类和接口与 Java 8 类似,同样用到abstractinterface关键字,java7以及之前最大的不同就是Kotlin的接口是可以有实现的。

抽象类


抽象类的格式如下:

abstract class 抽象类名[(主构造函数)][: 继承父类和实现接口] {……}

例:声明一个抽象的Person类,一个主构造函数,一个name属性。

abstract class Person(val name : String) { }

注意:即使不用 open 关键字修饰,抽象类也是可以被继承的,想想也很容易明白,因为抽象类本来就是用来继承的,所以就可以省略open关键字。

接口


接口类的格式如下:

interface  接口类名[: 继承的接口] {……}

例:声明一个接口A,一个接口B,B继承A

interface A
interface B : A

在Kotlin中的接口可以有自己的实现,例如:

interface KotlinInterface{
     var prop:Int
     fun foo(prop:Int)
     fun bar(){
          println("bar")
     }
}

image.png

接口不可以有构造函数

编译器提示接口不能有构造函数,再看一张图:

image.png

接口继承

上面是我继承接口后编译器让我覆盖的结果,可以判断出:

Kotlin 接口中函数可以有默认实现,也可以没有

Kotlin 接口允许存在抽象变量

Kotlin 接口的属性只能是抽象的,因为子类必须实现

抽象类与接口就先学到这,有任何疑问请留言与我联系,下次学习可见性修饰符public、private等。进入下一章节

目录
相关文章
|
9天前
|
Java 物联网 Kotlin
Kotlin - 面向对象之抽象类与接口
Kotlin - 面向对象之抽象类与接口
12 0
|
2天前
|
Java 物联网 Kotlin
Kotlin - 面向对象之抽象类与接口
Kotlin - 面向对象之抽象类与接口
|
11天前
|
Java 物联网 Kotlin
Kotlin教程笔记(11) - 面向对象之抽象类与接口
Kotlin教程笔记(11) - 面向对象之抽象类与接口
45 9
|
10天前
|
Java 物联网 Kotlin
Kotlin - 面向对象之抽象类与接口
Kotlin - 面向对象之抽象类与接口
34 5
|
16天前
|
Java 物联网 Kotlin
Kotlin - 面向对象之抽象类与接口
Kotlin - 面向对象之抽象类与接口
19 5
|
14天前
|
Java 物联网 Kotlin
Kotlin教程笔记(11) - 面向对象之抽象类与接口
Kotlin教程笔记(11) - 面向对象之抽象类与接口
|
18天前
|
Java 物联网 Kotlin
Kotlin教程笔记(11) - 面向对象之抽象类与接口
Kotlin教程笔记(11) - 面向对象之抽象类与接口
23 3
|
30天前
|
JSON 调度 数据库
Android面试之5个Kotlin深度面试题:协程、密封类和高阶函数
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点。文章详细解析了Kotlin中的协程、扩展函数、高阶函数、密封类及`inline`和`reified`关键字在Android开发中的应用,帮助读者更好地理解和使用这些特性。
19 1
|
2月前
|
Android开发 开发者 Kotlin
告别AsyncTask:一招教你用Kotlin协程重构Android应用,流畅度飙升的秘密武器
【9月更文挑战第13天】随着Android应用复杂度的增加,有效管理异步任务成为关键。Kotlin协程提供了一种优雅的并发操作处理方式,使异步编程更简单直观。本文通过具体示例介绍如何使用Kotlin协程优化Android应用性能,包括网络数据加载和UI更新。首先需在`build.gradle`中添加coroutines依赖。接着,通过定义挂起函数执行网络请求,并在`ViewModel`中使用`viewModelScope`启动协程,结合`Dispatchers.Main`更新UI,避免内存泄漏。使用协程不仅简化代码,还提升了程序健壮性。
75 1
|
3月前
|
调度 Android开发 开发者
【颠覆传统!】Kotlin协程魔法:解锁Android应用极速体验,带你领略多线程优化的无限魅力!
【8月更文挑战第12天】多线程对现代Android应用至关重要,能显著提升性能与体验。本文探讨Kotlin中的高效多线程实践。首先,理解主线程(UI线程)的角色,避免阻塞它。Kotlin协程作为轻量级线程,简化异步编程。示例展示了如何使用`kotlinx.coroutines`库创建协程,执行后台任务而不影响UI。此外,通过协程与Retrofit结合,实现了网络数据的异步加载,并安全地更新UI。协程不仅提高代码可读性,还能确保程序高效运行,不阻塞主线程,是构建高性能Android应用的关键。
59 4