我是Kotlin的新手,我很困惑 open 和 public 关键字。谁能告诉我这些关键词之间的区别?
我是Kotlin的新手,我很困惑 open 和 public 关键字。谁能告诉我这些关键词之间的区别?
该 open 关键字表示“打开扩展名”:
该
open注释 类 与Java相反final:它允许其他人继承这个类。通过 默认,Kotlin的所有课程都是final,对应于 有效的Java,第17项:继承的设计和文档,或者禁止它。
您还需要明确表示要进行覆盖的方法,并标记为 open:
open class Base {
open fun v() {}
fun nv() {}
}
该 public 关键字充当可见性修饰符,可应用于类,函数等。
注意 public 如果没有明确指定其他内容,则为默认值:
如果未指定任何可见性修饰符,
public默认情况下使用,这意味着您的声明将随处可见
该 open 关键字表示“打开扩展名”:
该
open注释 类 与Java相反final:它允许其他人继承这个类。通过 默认,Kotlin的所有课程都是final,对应于 有效的Java,第17项:继承的设计和文档,或者禁止它。
您还需要明确表示要进行覆盖的方法,并标记为 open:
open class Base {
open fun v() {}
fun nv() {}
}
该 public 关键字充当可见性修饰符,可应用于类,函数等。
注意 public 如果没有明确指定其他内容,则为默认值:
如果未指定任何可见性修饰符,
public默认情况下使用,这意味着您的声明将随处可见
class A { ... } 在Java中等于 open class A { ... } 在科特林。
final class B { ... } 在Java中等于 class B { ...} 在科特林。
它与之无关 public。
在Kotlin中,没有访问修饰符的一切都是 public 默认。你可以明确地说 public 在定义中,但在Kotlin中没有必要。
所以,
public class A { ... }
和
class A { ... }
在Kotlin是一样的。