java - Kotlin:继承自嵌套的 Java 类
问题描述
我在.java文件中有这些 Java 类:
public class BaseOuter
{
public class BaseInner
{
}
}
我在.kt文件中有这些 Kotlin 类:
class DerivedOuter : BaseOuter()
{
class DerivedInner : BaseOuter.BaseInner()
{
}
}
Android Studio 中的这个 Kotlin 代码给了我一个“未解决的参考:BaseInner”错误。所以我可以从 BaseOuter 类继承,但从 Java 的 BaseOuter.BaseInner 派生在语法上是不正确的(但如果我尝试从 Kotlin 类继承,我不会出错)。
不知何故,我无法搜索相同的示例或问题。
解决方案
在 Kotlin 中相当于 Java 的非静态嵌套类是内部类。
要使您的代码正常工作,您需要使用inner
关键字:
class DerivedOuter() : BaseOuter() {
inner class DerivedInner : BaseOuter.BaseInner() {
}
}
推荐阅读
- django - Django 后端配置到 Stripe、React 前端
- sql-server - 如何在 SQL Server 的连接字段中修剪每个值的前导零
- sql - 如何根据 EXCEL 中列值的一些计算删除 ROWS
- html - 水平滚动到表中最右边的列,直到第一列和最后一列之间什么都看不到
- iframe - Joomla 网站,iframe 视频无法在 Safari 上显示
- python - 从文件夹读取文件 .txt 到其他文件夹会出错
- java - 如何在输出绑定中放置参数?命名参数“时间戳”没有值
- javascript - 处理 Node.js 中的嵌套 forEach
- android-studio - Kotlin,如何在 String.format 中使用“$”作为参数索引
- kotlin - 检查集合是否只有一个元素的漂亮方法