- 课程名称:一课掌握Kotlin 突破开发语言瓶颈
- 章节名称:
- 第4章:类和接口
- 4-1类和接口
- 第4章:类和接口
- 讲师姓名:bennyhuo
- 时间:2022-08-09 09:42
课程内容
-
类的定义
class SimpleClass// 类默认都是public,类如果没有内容,连大括号都可以省略
class SimpleClass { var x: Int = 0//必须初始化 fun y(){ } }
class SimpleClass { var x: Int//没有初始化,必须要在构造器中赋值 constructor(x: Int) { this.x = x } } //简化写法 class SimpleClass constructor(x: Int) {//此时此构造器称为主构造器,主构造器要求其它构造器都要调用它 var x: Int = x } //缕缕简化 class SimpleClass(x: Int) { var x: Int = x } // 进一步优化 class SimpleClass(var x: Int, val y: String) {//在主构造器加var的就是属性 } val sc = SimpleClass(5, "Hello")//创建类的实例 println(sc.x)//可以像属性一样调用 println(sc.y)//可以像属性一样调用
-
接口定义
interface SimpleInf { fun simpleMethod() } class SimpleClass(var x: Int): SimpleInf { override fun simpleMethod() { } }
-
抽象类定义
abstract class AbsClass { abstract fun absMethod() open fun overridable() {}//只有加open的方法才能被子类覆写 fun nonOveridable() {} } class SimpleClass(var x: Int): AbsClass(), SimpleInf { // AbsClass后面要加括号,表示调用其构造器 }
-
属性与值域
- Kotlin的中的用var定义的property都是Java中的field加上get与set组合
- 如果不主动定义get与set,编译器自动定义
- property也可以被引用
学习心得
- Kotlin语言的策略一是简化Java代码书写,比如Property的定义,可以大大简化代码,Java目前都是使用Lombok这个工具来帮助隐藏代码的(眼不见心不烦)
- 第二个策略就是拿来主义,看在别的语言用的好的特性,直接在其上实现并使用,真是脸大啊