6.面向对象编程
面向对象的语言是可以创建类的。类就是对事物的一种封装,字段表示该类所拥有的属性,函数则表示该类可以有哪些行为。
7.File通常是用于编写kotlin顶层函数和扩展函数的。kotlin中也是使用class关键字来声明一个类。
8.kotlin中实例化一个类的方式和Java是基本类似的,只是去掉了new关键字。
例:fun main(){
val p=Person()
p.name="Jack"
p.age=19
p.eat()
}
9.在kotlin中任何一个非抽象类默认都是不可以被继承的,相当于Java中给类声明了final关键字。类的前面加上open关键字,这个类是专门为继承而设计的。在Java中继承的关键字是extends,而在kotlin中变成了一个冒号。
例:class Student:Person(){
var sno=""
var grade=0
}
10.kotlin将构造函数分为两种:主构造函数和次构造函数。主构造函数的特点是没有函数体,直接定义在类名的后面即可。
例:class Student (val sno:String,val grade :Int):Person(){}
11.kotlin给我们提供了一个init结构体,所有主构造函数中的逻辑都可以写在里面。
例:class Student(val sno :String,val grade:Int):Person(){
init{
println("sno is"+sno)
println("grade is"+grade)
}
}
12.子类中的构造函数必须调用父类中的构造函数。kotlin中,子类的主构造函数调用父类中哪个构造函数,在继承的时候通过括号来指定。即使在无参数的情况下,这对括号也不能省略。
例:class Student (val sno:String,val grade:Int,name:String,age:Int):Person(name,age){}
注意:我们在Student类的主构造函数中增加name和age,不能再将它们声明成val,因为在主构造函数中声明成val或者var的参数将自动成为该类的字段,这就会导致和父类中同名的name和age字段造成冲突。因此这里的name和age参数前面我们不用加任何关键字,让它的作用域仅限定在主构造函数当中即可。
13.
网友评论