/**
*
* kotlin当中类和方法默认都是final,要想着继承这个类,必须使用关键字open
* kotlin依然单继承,多实现。对于接口,类似java8。 存在非抽象方法的实现。
*
*/
interface Study{
fun english()
fun chinese() = println("语文")
}
open class Person : Study{
/**
* person类前面存在open关键字,实现了study接口的抽象方法,
* 这个方法默认是open, 如果不想被子类重写,需要前面主动加final关键字
*
*/
final override fun english() {
}
/**
* 默认是final,不可以被子类重写
*/
fun woke(){
}
/**
* 可以被子类重写
*/
open fun eat(){
}
}
class Student : Person() {
override fun eat() {
super.eat()
}
}
/**
* abstract抽象类,抽象方法默认是open,必须被实现。
*
*/
abstract class Woman{
abstract fun bug()
fun eat(){
}
open fun sleep(){
}
}
/**
* 内部类和嵌套类:默认是static嵌套类,不会持有外部类的引用。如果想要持有外部类的引用,需要加inner关键字。
*
*/
class Out{
//嵌套类,不会持有外部类的引用
class Nest{
}
//内部类
inner class Inner{
fun getOutInfo() : Out = this@Out
}
}
/**
*
* constructor 构造方法的关键字
* init 初始化代码块关键字
*
* 若是不想类被其他代码实例化,在constructor前面写private关键字
*
*/
class User constructor(_name : String){
val name : String
init {
name = _name
}
}
/**
* "=="
* java中比较基本数据类型和引用类型。基本数据类型比较值,引用类型比较的是引用。
*
* kotlin中引用类型,本质是调用equals来比较两个值。想要引用比较用"==="运算符
*
*/
/**
* object关键字修饰类。
* 1.定义单例的一种方式,可以直接用类名.方法名,以及类名.属性
* 2.匿名内部类
*
*/
kotlin 类学习
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 本系列文章来学习 Kotlin 和 Anko 插件 通过 Kotlin 开发一个 Android 项目。 Kotl...
- 前言 kotlin官网和kotlin教程学习教程的笔记。 一、嵌套类 类嵌套在另一个类之内 二、内部类 类可以使用...
- 这一节用个小例子来理解下密封类及let、run、apply、also、with之间的区别 Java有枚举,Kotl...
- 前言 密封类,可以理解为枚举,规定了有限个类型,不可以存在其他类型,但枚举每个枚举常量只存在一个示例,但是密封类的...
- 系列文章全部为本人的学习笔记,若有任何不妥之处,随时欢迎拍砖指正。如果你觉得我的文章对你有用,欢迎关注我,我们一起...