前言
上篇我们对类的属性声明,及类中的方法,静态方法,还有静态变量做了一个讲解。那么今天让我们来学习下类的继承相关知识。
今天涉及知识:
- 可继承标志及继承范围关键字
- 类继承
- 父类子类调用情况
一. 可继承标志及继承范围关键字
在Java
中类默认情况下是都能被继承的,除非一个类加上final
关键字才不能被继承。在kotlin
中,一个类默认情况下是不能被继承的。若一个类需要被继承,或者一个方法可以被重写,那么必须加上关键字open
.kotlin
中关于一个类或方法的使用范围也有关键字修饰,如下表:
开放性修饰符 | 说明 |
---|---|
public | 对所有开放,kotlin 中所有类,函数方法,变量在不加修饰的情况下,默认是public
|
internal | 仅对模块内部开发,此关键字为kotlin 新增。对App 开发而言,本模块指App 自身 |
protected | 仅对自己和子类开放 |
private | 仅对自己开放,即私有 |
这里我们需要理解的是open
表示该类,方法,变量是否可以被继承,重写。而public
,internal
,protected
,private
,用来表示继承,重写等的范围。但是open
表示可被重写或继承,而private
表示该类只对自己私有,不可重写,继承。故open
和private
不能修饰同一个对象(该对象可以是类,方法,变量)。
二. 类继承
2.1 无主构造函数的继承
对于无主构造函数
的继承,父类示例如下:
open class Animal {
var name:String=""
}
子类示例如下:
网友评论