Kotlin类、继承、接口实现
来源:互联网 发布:国家电网考试知乎 编辑:程序博客网 时间:2024/05/17 01:34
继续学习基础
package net.edaibu.kotlintest.ClassAndExtends/** * Created by ${GEQIPENG} on 2017/5/23. */class Person { // 关键字 public private internal protected //public private protected 同java中一致,被internal修饰的类在同一个包中可见 //构造方法 class Person constructor(firstName: String) {} //二级构造方法// class Person(val name:String){// constructor(name: String,parent:net.edaibu.kotlintest.ClassAndExtends.Person):this(name) {// }// } //声明空构造函数// class Person private constructor(){}}//创建类的实例 注意kotlin没有new关键字val person = Person()//继承关系open class Base(p: Int)//类Drived 继承类 Baseclass Drived(p: Int) : Base(p)//复写成员open class MyBase { fun method2() {} open fun method1() {}}//继承并复写方法method1 复写要加override,并且保证父类的方法是open的class MyDrived() : MyBase() { override fun method1() {}}//复写规则//定义类TestAopen class TestA { open fun A() { println("A") } fun a() { println("a") }}//定义接口Binterface B { fun B() { println("B") } fun A() { println("b") }}//类C继承TestA,实现接口B,因为接口B和类TestA中都有方法A,所以需要复写方法Aclass C() : TestA(), B { override fun A() { super<B>.A() super.B() }}//抽象类abstractopen class TestX { open fun MethodX() {}}//复写TestX中的open方法,注意:抽象方法没有方法体abstract class TestY() : TestX() { override abstract fun MethodX()}//密封类 用sealed修饰,类似java枚举类,不同于枚举的是sealed修饰的类可以包含子类型sealed class SealedTestClass { class IsNumber(val number: SealedTestClass) : SealedTestClass() class IsSum(val num1: SealedTestClass, val num2: SealedTestClass) : SealedTestClass() object NotNumber : SealedTestClass()}//使用when表达式,当when表达式覆盖了所有情形是不需要写elsefun sealedTest(sealed: SealedTestClass): Double = when (sealed) { is SealedTestClass.IsNumber -> sealedTest(sealed.number) is SealedTestClass.IsSum -> sealedTest(sealed.num1)+ sealedTest(sealed.num2) is SealedTestClass.NotNumber -> Double.NaN //not a number value of double}
阅读全文
0 0
- Kotlin类、继承、接口实现
- Kotlin学习(七): 类和继承、接口与实现
- Kotlin for Android(六)Kotlin类的继承和接口
- Kotlin-类和继承
- Kotlin 类和继承
- Kotlin 类与继承
- Kotlin-类和继承
- java 类继承 接口实现
- 抽象类----接口----继承---实现
- 类、接口继承以及接口的实现
- Kotlin 类、对象、接口
- Kotlin编程之接口和实现接口
- Kotlin 匿名类实现接口和抽象类的区别
- Kotlin基础教程-类与继承
- kotlin的类与继承
- Kotlin中类的继承
- Kotlin-2.1-类和继承
- 接口继承和实现继承
- C++ Primer 09 顺序容器
- java C++ md5 异或加密 10进制转16进制 16进制转10进制
- 第十一章 缓存机制——《跟我学Shiro》
- 获取xml中标签属性值
- eclipse的使用细节及常见问题
- Kotlin类、继承、接口实现
- java乱码问题
- Linux线程-互斥锁pthread_mutex_t
- Spring的@Configuration来代替xml配置
- 单列模式优化版本
- 第十二章 与Spring集成——《跟我学Shiro》
- html表格单元格宽度的计算规则
- Matconvnet 训练自己的数据(使用现有模型)
- 第十三章 RememberMe——《跟我学Shiro》