Android-Kotlin的继承以及GET-SET-方法的使用(1),2024年最新我把所有Android框架整理成了PDF
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) {
// 打印父类的信息
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()
}
运行结果:
Get/Set方法的使用
接着往下讲解kotlin的get/set方法的使用。
Student.kt
package cn.kotlin.kotlin_oop04
open class Person {
open var personName:String = “我是父类的名字”
}
class Student: Person() {
/**
- name用private私有修饰,外界其他地方不准访问,隐藏细节
- name提供set get 方法 对外暴露功能
- 对细节隐藏,只暴露自定义暴露的东东,就是属于封装的体现
*/
private var name:String = “”
fun getName() : String{
return name
}
fun setName(name:String) {
this.name = name
}
/**
- age用private私有修饰,外界其他地方不准访问,隐藏细节
- age提供set get 方法 对外暴露功能
- 对细节隐藏,只暴露自定义暴露的东东,就是属于封装的体现
*/
private var age:Int = 0
fun getAge() : Int{
return age
}
fun setAge(value: Int) {
if (value <0 || value > 150) {
println(“传入的${age}值不规范 出现异常 请检查代码”)
return
}
age = value
}
/**
- sex用private私有修饰,外界其他地方不准访问,隐藏细节
- sex提供set get 方法 对外暴露功能
- 对细节隐藏,只暴露自定义暴露的东东,就是属于封装的体现
*/
private var sex:String = “”
fun getSex() : String {
return sex
}
fun setSex(sex : String) {
if (“男”.equals(sex) || “女”.equals(sex)) {
this.sex = sex
return
}
println(“传入的${sex}值不规范 出现异常 请检查代码”)
}
/**
- 获取父类Person的personName
*/
override var personName: String
get() = super.personName
set(value) {personName = value}
}
/**
- main测试方法
*/
fun main(args: Array) {
var student = Student()
// 设置所以属性信息
setAllData(student)
// 打印所以属性信息
toAllInfoShow(student)
}
/**
- 设置所以属性信息
*/
fun setAllData(student: Student) {
student.setName(“猪小明”)
student.setAge(99)
student.setSex(“男”)
}
/**
- 打印所以属性信息
*/
fun toAllInfoShow(student : Student) {
println(“name:student.getName(),age:{student.getName()}, age:student.getName(),age:{student.getAge()}, sex:${student.getSex()}”)
}
在Kotlin中,getter和setter是可选的,如果你没有在代码中创建它们,它是会默认自动生成,是看不到的:
class Account {
var name: String = “”
var age: Int = 0
var balance: Double = 0.0
}
以下的代码,就算不写getter/setter,默认也会生成getter和setter,例如:
class Account {
var name: String = “”
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。






既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
总结
我最近从朋友那里收集到了2020-2021BAT 面试真题解析,内容很多也很系统,包含了很多内容:Android 基础、Java 基础、Android 源码相关分析、常见的一些原理性问题等等,可以很好地帮助大家深刻理解Android相关知识点的原理以及面试相关知识。
这份资料把大厂面试中常被问到的技术点整理成了PDF,包知识脉络 + 诸多细节;还有 高级架构技术进阶脑图 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
这里也分享给广大面试同胞们,希望每位程序猿们都能面试成功~
Android 基础知识点

Java 基础知识点

Android 源码相关分析

常见的一些原理性问题

腾讯、字节跳动、阿里、百度等BAT大厂 2019-2020面试真题解析

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
]
腾讯、字节跳动、阿里、百度等BAT大厂 2019-2020面试真题解析
[外链图片转存中…(img-ETfLZnOO-1712610424078)]
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-R9AbS7cb-1712610424078)]
更多推荐



所有评论(0)