• 显示个人简介

*/

// 注意:⚠️ 必须此方法默认是不被其他类使用的,如果想被其他类使用 需要加入 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) {

// 先打印父类的信息 张翠山

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) {

// 先打印父类的信息 张翠山

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 理解为对外暴露,其他地方可以调用
先自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以扫码领取!!!!

最后附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题 (含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总)

面试成功其实是必然的,因为我做足了充分的准备工作,包括刷题啊,看一些Android核心的知识点,看一些面试的博客吸取大家面试的一些经验,下面这份PDF是我翻阅了差不多1个月左右一些Android大博主的博客从他们那里取其精华去其糟泊所整理出来的一些Android的核心知识点, 全部都是精华中的精华,我能面试到现在资深开发人员跟我整理的这本Android核心知识点有密不可分的关系,在这里本着共赢的心态分享给各位朋友。

这份PDF囊括了JVM,Java集合,Java多线程并发,Java基础,生命周期,微服务, 进程,Parcelable 接口,IPC,屏幕适配,线程异步,ART,架构,Jetpack,NDK开发,计算机网络基础,类加载器,Android 开源库源码分析,设计模式汇总,Gradle 知识点汇总…

由于篇幅有限,就不做过多的介绍,大家请自行脑补
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可免费领取!

资深开发人员跟我整理的这本Android核心知识点有密不可分的关系,在这里本着共赢的心态分享给各位朋友。
[外链图片转存中…(img-xxq5aysG-1711222348120)]

这份PDF囊括了JVM,Java集合,Java多线程并发,Java基础,生命周期,微服务, 进程,Parcelable 接口,IPC,屏幕适配,线程异步,ART,架构,Jetpack,NDK开发,计算机网络基础,类加载器,Android 开源库源码分析,设计模式汇总,Gradle 知识点汇总…

由于篇幅有限,就不做过多的介绍,大家请自行脑补
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可免费领取!

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐