Kotlin编程之伴生对象,抽象类,密封类
来源:互联网 发布:美工面试问题及答案 编辑:程序博客网 时间:2024/04/27 21:53
Kotlin编程相关知识点介绍:
- Kotlin编程之使用Intellij IED和了解源文件(.kt)
- Kotlin编程之类的介绍和使用
- Kotlin编程之类的属性
- Kotlin编程之方法
- Kotlin编程之父类和继承父类
- Kotlin编程之接口和实现接口
本篇概括:
- 伴生对象
- 抽象类
- 密封类
伴生对象
package com.xingen.kotlin.day2017531fun main(args: Array<String>) { Test.instance.test() Test.test1()}class Test { fun test() { println("伴生对象的静态调用对象,通过对象再调用方法") } companion object Factory{ // 伴生对象 var instance =Test() fun test1(){ println("伴生对象的静态调用方法") } }}
输出结果:
伴生对象的静态调用对象,通过对象再调用方法伴生对象的静态调用方法
可知:
- 伴生对象可以实现静态调用,通过
类名.属性名
或者类名.方法名
进行调用。
抽象类
package com.xingen.kotlin.day2017531fun main(args: Array<String>) { Test.instance.test() Test.instance.test1()}/** * 定义一个抽象类 * * 1. 抽象类中有抽象方法,方法的实现。 * 2. 抽象类和抽象方法是默认open关键字修饰的 */abstract class TestAbstract{ var v="抽象类中属性" abstract fun test() fun test1(){ println("抽象类中方法的实现") }}class Test :TestAbstract(){ override fun test() { println("一个抽象类的子类中使用 $v") } companion object Factory{//伴生对象 var instance :TestAbstract=Test() }}
输出结果:
一个抽象类的子类中使用 抽象类中属性抽象类中方法的实现
可知:
- 抽象类和抽象方法是默认open关键字修饰的
- 抽象类有抽象方法和方法的实现,可以有成员属性
密封类
通常与When语句一起使用,确保声明到所有的情形,不需要使用else语句。
在一个源文件(.kt),编写以下代码:
package com.xingen.kotlin/** * Created by ${新根} on 2017/5/24 0024. * 博客:http://blog.csdn.net/hexingen */fun main(str: Array<String>) { test( BaseClass.Test1() ) test( BaseClass.Test2() ) test( BaseClass.Test3 )}/** * 使用when表达式 */fun test(instance: BaseClass)=when(instance){ is BaseClass.Test1-> instance.test() is BaseClass.Test2-> instance.test() is BaseClass.Test3->instance.test()}/** * * sealed修饰符修饰密封类。 * * 密封类内部含有多个子类。 */sealed class BaseClass { class Test1 : BaseClass() { override fun test() { println("Test1实例") } } class Test2 : BaseClass() { override fun test() { println("Test2实例") } } object Test3 : BaseClass() { override fun test() { println("Test3实例") } } open fun test() { println("BaseClass实例") }}
输出如下:
Test1实例Test2实例Test3实例
阅读全文
0 0
- Kotlin编程之伴生对象,抽象类,密封类
- Kotlin Reference (九) 抽象类、密封类
- Scala之伴生类,伴生对象
- Kotlin编程之扩展属性和扩展伴生对象
- Kotlin(2.7)密封类
- 伴生类和伴生对象
- Scala面向对象之伴生类与伴生对象详解
- scala 伴生类 伴生对象 apply
- scala中的伴生类 伴生对象说明
- Scala伴生类和伴生对象
- scala伴生类与伴生对象
- Kotlin 官方学习教程之密封类与泛型
- 抽象类和密封类
- 抽象类和密封类
- C# 抽象类、密封类
- 抽象类与密封方法
- C#之抽象类、虚方法、重写、接口、密封类
- scala学习之路:8.staticObject与伴生类伴生对象
- Python——mysql5.7
- 575. Distribute Candies
- jQuery判断checkbox是否选中的3种方法
- 受限波兹曼机
- 匿名内部类
- Kotlin编程之伴生对象,抽象类,密封类
- java——网络编程详
- 当总统
- React
- bzoj 2654: tree 二分+最小生成树
- 《挑战程序设计竞赛》阅读笔记一 之 ALDS1_1_B Greatest Common Divisor
- SQL大数据量查询的优化
- 在线编程(一)
- Leetcode——4. Median of Two Sorted Arrays