上一篇博客 Android-Kotlin-配置/入门 配置好了 AndroidStudio Kotlin 的环境;

1.先看一个案例,子类使用到父类的资源 【案例一】

父类 张翠山:

package cn.kotlin.kotlin_oop03

/**
* 描述父对象:张翠山
*
* personDescribe 此人的简介 / var personDescribe:String 此String是Kotlin的
*
* 描述行为:gestAction 武功
*/ // 注意:⚠️ 必须此类默认是不被其他类继承的,如果想被其他类继承 需要加入 open 修饰
open class MyFatherClass { // 注意:⚠️ 必须此成员变量默认是不被其他类使用的,如果想被其他类使用 需要加入 open 修饰
open var personDescribe:String = "义薄云天,大仁大义 ...." /**
* 显示个人简介
*/
// 注意:⚠️ 必须此方法默认是不被其他类使用的,如果想被其他类使用 需要加入 open 修饰
open fun showPersonDescribe() {
println("张翠山-Father简介${personDescribe}")
} /**
* 张翠山的武功
*/
// 注意:⚠️ 必须此方法默认是不被其他类使用的,如果想被其他类使用 需要加入 open 修饰
open fun gestAction() {
System.out.println("自创剑法,剑法厉害......")
} }

子类 张无忌:

package cn.kotlin.kotlin_oop03

class MyChildClass : MyFatherClass() {
}

测试 的 main方法:

package cn.kotlin.kotlin_oop03

fun main(args: Array<String>) {

    // 先打印父类的信息 张翠山
var myFatherClass = MyFatherClass()
myFatherClass.showPersonDescribe()
myFatherClass.gestAction() println("-----------------------") // 打印子类的信息 张无忌
var myChildClass = MyChildClass()
myChildClass.showPersonDescribe() // 调用此方法 由于子类没有此方法,会去往父类找 找到后调用
myChildClass.gestAction() // 调用此方法 由于子类没有此方法,会去往父类找 找到后调用
}

执行结果:



2.对以上案例一进行修改 【案例二】

父类 张翠山:

package cn.kotlin.kotlin_oop03

/**
* 描述父对象:张翠山
*
* personDescribe 此人的简介 / var personDescribe:String 此String是Kotlin的
*
* 描述行为:gestAction 武功
*/ // 注意:⚠️ 必须此类默认是不被其他类继承的,如果想被其他类继承 需要加入 open 修饰
open class MyFatherClass { // 注意:⚠️ 必须此成员变量默认是不被其他类使用的,如果想被其他类使用 需要加入 open 修饰
open var personDescribe:String = "义薄云天,大仁大义 ...." /**
* 显示个人简介
*/
// 注意:⚠️ 必须此方法默认是不被其他类使用的,如果想被其他类使用 需要加入 open 修饰
open fun showPersonDescribe() {
println("张翠山-Father简介${personDescribe}")
} /**
* 张翠山的武功
*/
// 注意:⚠️ 必须此方法默认是不被其他类使用的,如果想被其他类使用 需要加入 open 修饰
open fun gestAction() {
System.out.println("自创剑法,剑法厉害......")
} }

子类 张无忌:

package cn.kotlin.kotlin_oop03

class MyChildClass : MyFatherClass() {

    /**
* 显示个人简介
*/
// 重写父类的方法,需要写override
override fun showPersonDescribe() {
println("张无忌-Child简介${personDescribe}")
} /**
* 张无忌还在的武功
*/
// 注意:override代表 重写父类的方法
override fun gestAction() {
println("九阳神功,乾坤大挪移,龙爪手")
}
}

测试的main方法:

package cn.kotlin.kotlin_oop03

fun main(args: Array<String>) {

    // 先打印父类的信息 张翠山
var myFatherClass = MyFatherClass()
myFatherClass.showPersonDescribe()
myFatherClass.gestAction() println("-----------------------") // 打印子类的信息 张无忌
var myChildClass = MyChildClass()
myChildClass.showPersonDescribe()
myChildClass.gestAction()
}

执行的结果:



3.案例三,父类 子类 简单继承:

package cn.kotlin.kotlin_oop03

/**
* 描述父类
*/
// open 理解为对外暴露,其他地方可以继承
open class Father { // 定义描述性格的变量 注意:var kidney:String 此变量的String是Kotlin的
var kidney:String = "性格文静,热爱运动,喜欢学习" /**
* 描述武功的行为/方法
*/
// open 理解为对外暴露,其他地方可以调用
open fun showGest() {
println("武功平常,只能打打小混混")
}
} /**
* 描述子类
*/
class Child : Father() { /**
* 描述武功的行为/方法
*/
// override代表重写父类的方法
override fun showGest() {
println("拥有上乘武功,神照经,难遇敌手....")
} } /**
* main测试方法
*/
fun main(args: Array<String>) {
// 打印父类的信息
var f = Father();
println("父类的性格:${f.kidney}")
f.showGest() // 父类的武功 println("-------------------------------------------") // 打印子类的信息
var c = Child();
println("子类的性格:${c.kidney}")
c.showGest() // 子类的武功 println("-------------------------------------------") // 父类的引用指向子类的对象 以前Java的写法 父类 fc = new 子类();
var fc:Father = Child()
fc.showGest()
}

执行结果:

Android-Kotlin-继承的更多相关文章

  1. Android Kotlin Jetpack Compose UI框架 完全解析

    前言 Q1的时候公司列了个培训计划,部分人作为讲师要上报培训课题.那时候刚从好几个Android项目里抽离出来,正好看到Jetpack发布了新玩意儿--Compose,我被它的快速实时打包给吸引住了, ...

  2. Android Kotlin协程入门

    Android官方推荐使用协程来处理异步问题.以下是协程的特点: 轻量:单个线程上可运行多个协程.协程支持挂起,不会使正在运行协程的线程阻塞.挂起比阻塞节省内存,且支持多个并行操作. 内存泄漏更少:使 ...

  3. Android Kotlin Annotation Processer

    Annotation Processer 注解处理器(Annotation Processer)是javac内置的注解处理工具,可以在编译时处理注解,让我们自己做相应的处理.比如生成重复度很高的代码, ...

  4. Kotlin 继承

    Kotlin 中所有类都继承该 Any 类,它是所有类的超类,对于没有超类型声明的类是默认超类: class Example // 从 Any 隐式继承 Any 默认提供了三个函数: equals() ...

  5. Android style 继承

    style作用在单个视图或控件上,抽取共有的属性,实现复用. style的继承有两种方式: 通过parent标识父style <style name="GreenText" ...

  6. Android Kotlin —— 语言结合

    2017 Google I/O 大会开始就宣布,将Kotlin语言作为安卓开发的一级编程语言.        Kotlin 是一个基于 JVM 的新的编程语言,由 JetBrains 开发.   Ko ...

  7. Android Kotlin适用小函数

    都是一些Android适用的Kotlin小函数. 1.点击空白隐藏键盘 //点击空白隐藏键盘 override fun onTouchEvent(event: MotionEvent): Boolea ...

  8. Android单独继承View类来实现自定义控件

    一个单独继承view类来实现自定义控件,在该方法中,需要重写ondraw方法来绘制自己所需要的控件,下面也以一个简单的例子来说明如何实现自定义控件.该方法可以实现所需要的所有的自定义控件. 属性文件中 ...

  9. Android -------- kotlin插件神器Json直接生成javaBean

    这是一个data class从JSON字符串生成Kotlin 的插件,换句话说,是一个将JSON字符串转换为Kotlin data class(Json到Kotlin)的插件 在使用Kotlin进行开 ...

  10. Kotlin继承与重写重要特性剖析

    继续Kotlin的面向对象之旅. 继承: 在Java中我们知道除了final类不能被继承,其它的情况都是可以被继承的,而在Kotlin中的规则是这样的:“在Kotlin中,所有类在默认情况下都是无法被 ...

随机推荐

  1. (转帖)CentOS最常用命令及快捷键整理

    原文:http://www.centoscn.com/CentOS/help/2014/0306/2493.html 最近开始学Linux,在VMware Player中安装了CentOS 6.4.为 ...

  2. C++/CLI学习入门

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAxIAAAFlCAYAAAB/fN6bAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjw

  3. 好像leeceode题目我的博客太长了,需要重新建立一个. leecode刷题第二个

    376. Wiggle Subsequence               自己没想出来,看了别人的分析. 主要是要分析出升序降序只跟临近的2个决定.虽然直觉上不是这样. 455. 分发饼干     ...

  4. 通过SD卡来安装Linux系统

    一.制作SD启动卡(安装Linux)步骤: 烧写原理:superboot-6410.bin(bootloader)+内核镜像文件+根文件系统 1.将SD卡插入USB接口的读卡器,并插在PC的USB口 ...

  5. AX_Args

    Args args; FormRun formRun; ; args = new Args(); args.name(formstr(FormName)); args.caller(); args.r ...

  6. GC垃圾收集器分类

    参考https://blog.csdn.net/tjiyu/article/details/53983650 Java垃圾收集器组合: 新生代收集器:Serial.ParNew.Parallel Sc ...

  7. GameObject.SendMessage

    Message相关有3条指令:    要接收消息的GameObject.SendMessage ("函数名",参数,SendMessageOptions)  //自身和父Objec ...

  8. 进度条的制作unity

    不说了直接上代码: LoadingPanel: using UnityEngine;using System.Collections;using UnityEngine.UI;using UnityE ...

  9. lambda表达式,变量作用域

    # lambda表达式 def filter_lt(predidcate,lt): result=[] for elem in lt: if predidcate(elem): result.appe ...

  10. 关于preg_match() / preg_replace()函数的一点小说明

    int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $ ...