- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在阅读 this文章,它说您可以在 Kotlin 接口(interface)中编写代码。 Java 不允许在接口(interface)中编写代码以避免出现菱形问题 answer .如果 Kotlin 允许在接口(interface)中编写代码,并且可以在一个类中实现多个接口(interface),那这不是又一次制造了“菱形继承(钻石问题)”吗?
最佳答案
方案 1
两个接口(interface)具有相同签名的方法,并且在接口(interface)中都没有实现,则需要实现具有相同签名的方法单个方法。
例子
interface InterfaceA {
fun sum(a: Int, b: Int)
}
interface InterfaceB {
fun sum(x: Int, y: Int)
}
class TestClass : InterfaceA, InterfaceB {
override fun sum(x: Int, y: Int) {
return a+b
}
}
interface InterfaceA {
fun sum(a: Int, b: Int):Int = a+b
}
interface InterfaceB {
fun sum(x: Int, y: Int)
}
class TestClass : InterfaceA, InterfaceB {
override fun sum(x: Int, y: Int) {
return a+b
}
}
interface InterfaceA {
fun sum(a: Int, b: Int): Int {
print("InterFaceA");
return a + b
}
}
interface InterfaceB:InterfaceA {
override fun sum(a: Int, b: Int): Int {
print("InterFaceB");
return a + b
}
}
interface InterfaceC:InterfaceA {
override fun sum(a: Int, b: Int): Int {
print("InterFaceC");
return a + b
}
}
interface InterfaceD : InterfaceB, InterfaceC {
override fun sum(a: Int, b: Int): Int {
print("InterFaceD");
return a + b
}
}
关于interface - "Code in Interfaces"Kotlin,他们如何避免 "deadly diamond of death"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46905026/
我正在尝试设置 RabbitMQ 以根据死亡原因通过死信交换路由消息(“x-death.reason”或“x-first-death-reason”都可以)。 我的理解是,当消息被发送到 DLX 时,
我一直在阅读关于在 Windows XP 和 Windows Server 2003 上针对 GDI+ 的旧漏洞利用。我正在做的一个项目被称为死亡 JPEG。 漏洞利用在以下链接中有很好的解释: ht
所以我是 C++ 的新手,我目前正在为一项任务开发一个“死亡之战”游戏,但我被卡住了。 基本上,作为玩家,您可以使用每种武器一定次数:Canon 3 次,Grenade 4 次。步枪是无限的。 当我使
我从 logcat 得到以下语句,就在一些成功的日志语句表明我的应用程序运行正常(统计输出等)之后: I/WindowState( 425): WIN DEATH: Window{4244e028
可能每个人在开发过程中都至少遇到过一次这个问题: while(/*some condition here that somehow never will be false*/) { ...
我很确定自己不仅是注意到PHP上的简单解析错误(如果存在于非常嵌套的场景中)的人(例如,引用另一个对象实例的对象实例引用了另一个解析错误很小的对象实例) ,它们全部被自动加载)可以使PHP永久挂起,而
我正在尝试使用批量加载器功能将大小适中的 csv 文件上传到 Google 应用引擎,但它似乎在中途死亡,结果如下: [INFO ] Logging to bulkloader-log-2011
我想将“死刑方法”与遗传算法文献中提出的其他惩罚方法进行比较。 我用的是R软件,所以需要写这些惩罚方法的代码。我发现了很多困难,因为我不了解关于死刑函数的一件事:我必须如何处理不可行的后代,因为人口规
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 11 年前。 Improve thi
我正在寻找最合适的类作为从我的 Activity 调用的 AsyncTasks 的调度程序。 我认为它可能是其中之一: 应用程序的子类; 服务的子类; 我自己的静态 东西。 至于我 - 实现第三个选择
Epic游戏《《死神来了(Death Coming)》是一款呆萌像素风格的非线性解谜游戏 目前在Epic商城上限时免费 大家想玩的可以点击下方链接 添加游戏进入账号内然后下载玩耍 下载地址:
我正在尝试找到一种方法来模拟set -e在函数中的行为,但仅在该函数的范围内。 基本上,我想要一个函数,如果有任何简单的命令将触发set -e,它将返回1的上一级。目的是将有风险的工作集隔离为功能,以
我在 Android 1.5 模拟器(在 OS X 下运行)上遇到随机崩溃(尽管它们总是同时发生)。代码是针对 1.5 API 构建的,在其他版本上运行良好。应用程序在 HTC Hero 上执行相同操
我用cocos2d-x开发了一个游戏。我试着在android下编译它。前三个场景很好 - 但当我添加最后一个功能时,应用程序开始在随机时间和随机场景中关闭。 相关日志如下: 04-18 15:30:5
我正在查看 https://developer.android.com/topic/libraries/architecture/saving-states .它提到“系统启动的进程死亡”。它到底是什
我有一个启动服务的 Activity 。 在我的 Activity 中: startService(new Intent(this, MyService.class)); 在我的服务中,onStart
我知道这听起来是个懒惰的问题..但我真的不知道这种情况是如何发生的,我在谷歌上也找不到太多相关信息。 背景: 这是一个带有 IPC 的应用程序:我有一个在单独进程中运行的服务。有时,服务被杀死了……但
有时,我的应用程序被卡住,然后崩溃。 我阅读了系统日志,并在系统日志的最后几行中看到我的 Activity 出现一些“WIN DEATH”错误。 谁能告诉我原因并告诉我解决方法? 非常感谢! 这是系统
我有一个运行 Yii 应用程序的暂存服务器,现在显示“白屏死机”。我看不到任何东西被输出到屏幕上(甚至在“查看源代码”时看不到源代码),相同的代码在本地运行没有任何问题。 谁能推荐一个在 Yii 应用
据说 "static methods are death to testability" 。如果是这样,下面的可行替代模式是什么? class User { private $phone,
我是一名优秀的程序员,十分优秀!