Kotlin -- open, final, abstract 修饰符
2018-03-01 23:22
183 查看
Kotlin – open, final, abstract
在Kotlin中,所有的类默认都是final的。如果你需要允许它可以被继承,那么你需要使用
open声明:
//这个类具有`open`属性,可以被其他类继承 open class People: Speakable{ //`open`的方法被实现和覆写,该方法也是`open`的 override fun say() {} //`final`属性的方法,不可被覆写 fun sayHello() {} //`open`属性的方法,可以被继承和覆写 open fun sayName() {} }
当然,你也可以阻止某些方法被覆写:
open class People: Speakable{ //`final`修饰一个原本具有`open`属性的方法,使其变得不可再被覆写 final override fun say() {} }
在kotlin中,
abstract的用法几乎和Java一致,我就不再啰嗦,值得一提的是,当你使用
abstract修饰符的时候,可以忽略
open修饰符,因为被
abstract修饰的类默认具有
open属性。
修饰符 | 相应类的成员 | 注解 |
---|---|---|
final | 不能被覆写 | 在kotlin中默认所有的方法和类都是final属性 |
open | 可以被覆写 | 需要被明确指出 |
abstract | 必须要覆写 | 不能被实例化,默认具有open属性。 |
override | 覆写超类的方法 | 如果没有被指定为final,则默认具有 open属性 |
fianl、
open、
abstract,因为接口类默认是
open,且不能被声明为
final,如果接口类的方法没有函数体,那么其为
abstract,但是不需要你明确指出他是
abstract的。
相关文章推荐
- Java修饰符:public、protected、private、abstract、static和final区别
- Java修饰符 abstract,static,final 的区别详解
- static final abstract 三个修饰符的个人总结(望各位大牛指正)
- JAVA修饰符的详细介绍(public protect,default, private,final,abstract)
- 修饰符 public static, final, abstract .....
- JAVA修饰符的详细介绍(public protect,default, private,final,abstract)
- java中的修饰符static/final/abstract/
- Java修饰符abstract,static,final的区别
- Java修饰符 abstract,static,final 的区别详解
- Java中的修饰符说明(public,private,protected,default,final,abstract,static)
- 三个修饰符(abstract,static,final)
- Java中的3个修饰符static、final、abstract
- java中的三大修饰符static、final、abstract
- Java修饰符 abstract,static,final 的区别详解
- java中的修饰符static,final和abstract
- Java修饰符 abstract,static,final 的区别详解
- Java修饰符:public、protected、private、abstract、static和final区别
- static final abstract 三个修饰符的总结
- java基础知识之——(static final abstract 三个修饰符)
- Java修饰符 abstract,static,final 的区别详解