kotlin类的继承(代码片段)

loaderman loaderman     2023-02-04     179

关键词:

与Java不同,kotlin 使用冒号,而Java 中使用extends, 注意冒号后面需要调用夫类的构造器。属于单继承,使用open 关键字允许继承class

package loaderman.demo

 open class Person (name:String)

   protected var mName:String =name
    fun getName():String
        return mName
    
package loaderman.demo

class son :Person("enen")
    fun getN():String
        return mName
    
package loaderman

import loaderman.demo.son


fun main(arg: Array<String>) 

    val n = son().getN()
    println(n)

   方法重写

类默认是不可继承的,连方法默认也是不可重写的,如果需要重写方法,就需要在父类中相应的方法上加伤open关键字。而且在子类重写的方法前加override关键字

package loaderman.demo

 open class Person (name:String)

   protected var mName:String =name
    open fun getName():String
        return mName
    
package loaderman.demo

class son :Person("enen")
    override fun getName():String
        return mName
    
package loaderman

import loaderman.demo.son


fun main(arg: Array<String>) 

    val n = son().getName()
    println(n)

重写属性

package loaderman.demo

open class Person 

    open var mName: String = "Person name"
    open fun getName(): String 
        println(mName)
        return mName
    
package loaderman.demo

open class son :Person()
    override var mName :String = "son name"
    get() 
        println("获取属性")
        return field
    
    set(value) 
        field=value
        println("设置属性")
    
    override fun getName():String
        return mName
    


package loaderman

import loaderman.demo.son


fun main(arg: Array<String>) 

    val n = son()
    n.mName="hah"
    println(n.mName)

 

kotlin类的继承①(使用open关键字开启类的继承|使用open关键字开启方法重写)(代码片段)

...open关键字开启方法重写一、使用open关键字开启类的继承Kotlin中的类默认都是封闭的,无法被继承,如果要想类被继承,需要在定义类时使用open关键字;定义一个普通的Kotlin类:classPerson(valname:String,valage:Int)funinfo()println("name:$name,age:$... 查看详情

kotlin学习之路:继承(代码片段)

...承二.继承中的构造函数2.1继承中Java的构造函数2.2继承中Kotlin的构造函数2.3Kotlin多个构造函数的情况三.重写和重载3.1方法的重写3.2属性的重写四.super关键字4.1简单用法4.2复杂情况下的用法4.2.1子类重写方法中使用super4.2.2子类选择... 查看详情

kotlin初学者继承(extend)(代码片段)

Kotlin继承(extend)        Kotlin允许一个类继承自另一个类        Kotlin中所有类都继承自Any类        Any类是所有类的超类,对于没有超类型声明的类是默认超类        Kotlin类默认都是封闭的,要让某个类... 查看详情

kotlin初学者类的修饰符(代码片段)

类的修饰符        Kotlin类的修饰符包括classModifier和accessModifierclassModifier        类属性修饰符,标示类本身特性abstract//抽象类final//类不可继承,默认属性enum//枚举类open//类可继承,类默认是final的annotation//... 查看详情

kotlin入门(代码片段)

...数:123valinvoice=Invoice() valcustomer=Customer("JoeSmith")注意Kotlin并没有 new 关键字。 继承在Kotlin中所有类都有 查看详情

kotlin开发基础(代码片段)

...一时间获取我的最新文章,请关注公众号:技术特工队Kotlin开发基础(一)Kotlin开发基础(二)Kotlin开发基础(三)类本篇文章主要介绍类的继承,接口,复写,单例,以及object属性的介... 查看详情

kotlin学习之委托机制(代码片段)

类的委托    委托模式可以很好的替代实现继承,kotlin本身支持需要零样板代码,一个类Derived可以继承Base并委托它所有的public方法到一个指定的类:interfaceBasefunprint()classBaseImpl(valx:Int):Baseoverridefunprint()print(x)classDerived(b:B... 查看详情

kotlin类的继承②(使用is运算符进行类型检测|使用as运算符进行类型转换|智能类型转换|any超类)(代码片段)

...能类型转换)三、Any超类一、使用is运算符进行类型检测在Kotlin中,如果不确定一个实例对象的类型,可以使用is运算符进行判定,使用方法实例对象is判定类型上述用法可以判定实例对象是否是判定类型,如果是返回true,反之返回false;... 查看详情

kotlin类的继承②(使用is运算符进行类型检测|使用as运算符进行类型转换|智能类型转换|any超类)(代码片段)

...能类型转换)三、Any超类一、使用is运算符进行类型检测在Kotlin中,如果不确定一个实例对象的类型,可以使用is运算符进行判定,使用方法实例对象is判定类型上述用法可以判定实例对象是否是判定类型,如果是返回true,反之返回false;... 查看详情

kotlin小悟-这个继承有点不一样(代码片段)

今天聊聊kotlin中关于构造函数的一个话题。我们知道,在kotlin中构造函数分为主构造函数和从构造函数,关于详细的内容,可以点击下面的文章链接了解。Kotlin系列之主构造方法和初始化语句块Kotlin系列之从构造方法... 查看详情

学习kotlin-扩展函数(代码片段)

...类的功能而无需接触它们的代码的函数。换句话说,Kotlin中的扩展函数允许我们通过添加新函数来扩展类的功能。该类不必属于我们(可以是第三方库),也不需要我们继承该类。举个很简单的例子来理解。funInt.... 查看详情

kotlin开发基础(代码片段)

...一时间获取我的最新文章,请关注公众号:技术特工队Kotlin开发基础(一)Kotlin开发基础(二)Kotlin开发基础(三)类本篇文章主要介绍类的继承,接口,复写,单例,以及object属性的介... 查看详情

kotlin小悟-这个继承有点不一样(代码片段)

今天聊聊kotlin中关于构造函数的一个话题。我们知道,在kotlin中构造函数分为主构造函数和从构造函数,关于详细的内容,可以点击下面的文章链接了解。Kotlin系列之主构造方法和初始化语句块Kotlin系列之从构造方法... 查看详情

kotlin语言中的继承与构造函数(详解)(代码片段)

        学习kotlin时,有很多小伙伴无法理解为何有的继承结构父类后面需要加括号,有时候却不用加括号,本篇文章小编将为你们解除这个困惑!顺便为大家详解一下kotlin中的主构造函数和次构造函数。   ... 查看详情

深入kotlin-接口和抽象类(代码片段)

...拥有方法实现(default关键字修饰的接口方法)。Kotlin也是同样的:interfaceA funmethod() println("A") 如果一个类B继承了接口A,因为A中的方法已经有默认实现,则B不需要实现接口A:classB:A重写接口方法如果需... 查看详情

kotlin中匿名内部类的写法(代码片段)

原本java开发安卓常用的setOnClickListener,用kotlin写,也变得五花八门了。varview:View=findViewById(R.id.tv)//最接近原先java的写法view.setOnClickListener(object:View.OnClickListeneroverridefunonClick(v:View?)Toast. 查看详情

kotlin类与继承(代码片段)

类kotlin中使用关键字class声明类类声明由类名,类头(指定其类型参数,主构造函数等),花括号包围的类体构成,类头和类体都是可选的。classStudent如果一个类没有类体,则可以省略花括号classEmpty主... 查看详情

类的继承(代码片段)

目录什么是继承为什么用继承对象的继承类的分类(了解)新式类经典类继承与抽象继承的应用属性查找练习什么是继承继承是一种新建类的方式,新建的类称为子类,被继承的类称为父类继承的特性是:子类会遗传父类的属性继... 查看详情