Kotlin Android开发·继承、构造和接口(1)-程序员宅基地

技术标签: 程序员  android  kotlin  开发语言  

Kotlin构造


构造分为 主构造函数次构造函数 ,Kotlin中每个类都会有一个默认不带有参数的主构造函数,当然,你也可以给它加入一些参数。


主构造函数

主构造函数没有函数体,直接定义在类名之后,举个例子:

class Study(var name: String) {

fun study() {

println(name + " 在学习Kotlin")

}

}

此时在main函数中调用就要传入这个参数

fun main() {

Study(“CSDN女神”).study()

}

在这里插入图片描述

如果需要继承,可以这么写,举例 CSDN女神类 继承自那个写好的Cat类,当然,我没有猫的属性!

class CsdnGoddess(val par: String) : Cat() {

}


次构造函数

次构造函数通过 constructor 关键字来实现,举个例子

Study:

class Study {

var str = “”

constructor(name: String) {

str = name + " 在学习Kotlin"

}

fun study() {

println(str)

}

}

Main:

fun main() {

Study(“CSDN女神”).study()

}

在这里插入图片描述


注意点

结果是一样的!值得注意的是:当一个类主构造函数和次构造函数同时出现时,所有的次构造函数都必须调用主构造函数! 代码举例:

class CsdnGoddess(var name: String, age: String) {

constructor(name2: String) : this(name2, “”) {

}

}


Kotlin接口


在Java中,实现接口用关键字 implements,但在Kotlin中不是,而是使用 “ : ”,没错,无论是继承还是实现接口都是使用冒号,如果需要继承并实现接口,那么只需要用逗号分割即可!如下:继承自Cat并实现Studys接口!

创建Studys接口:

interface Studys {

fun study()

fun sleep()

}

实现Studys接口:

class CsdnGoddess(var name: String) : Cat(), Studys {

override fun study() {

println(name + “学习”)

}

override fun sleep() {

println(name + “睡觉”)

}

}

之后便是重写方法!运行试一下!

fun main() {

CsdnGoddess(“CSDN女神”).study()

CsdnGoddess(“CSDN女神”).sleep()

}

在这里插入图片描述


本章小结


这就是一些基本的使用方法,有很多跟Java很相似,接下来要学习Java中所没有的一些东西!


初出茅庐在学习,君若有不喜之处,吾愿听君之见,然存己身之断!海纳百川,但存己见!

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

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

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

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

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

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

最后

简历首选内推方式,速度快,效率高啊!然后可以在拉钩,boss,脉脉,大街上看看。简历上写道熟悉什么技术就一定要去熟悉它,不然被问到不会很尴尬!做过什么项目,即使项目体量不大,但也一定要熟悉实现原理!不是你负责的部分,也可以看看同事是怎么实现的,换你来做你会怎么做?做过什么,会什么是广度问题,取决于项目内容。但做过什么,达到怎样一个境界,这是深度问题,和个人学习能力和解决问题的态度有关了。大公司看深度,小公司看广度。大公司面试你会的,小公司面试他们用到的你会不会,也就是岗位匹配度。

选定你想去的几家公司后,先去一些小的公司练练,学习下面试技巧,总结下,也算是熟悉下面试氛围,平时和同事或者产品PK时可以讲得头头是道,思路清晰至极,到了现场真的不一样,怎么描述你所做的一切,这绝对是个学术性问题!

面试过程一定要有礼貌!即使你觉得面试官不尊重你,经常打断你的讲解,或者你觉得他不如你,问的问题缺乏专业水平,你也一定要尊重他,谁叫现在是他选择你,等你拿到offer后就是你选择他了。

金九银十面试季,跳槽季,整理面试题已经成了我多年的习惯!在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。

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

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

d初级——Android高级架构师进阶必备的一些学习技能。**

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

[外链图片转存中…(img-m50SQSRs-1712774314179)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/2401_84149916/article/details/137619078

智能推荐

Linux 机器间配置 SSH 免密登录_从linux服务器上ssh连接其他主机免输密码-程序员宅基地

文章浏览阅读1.4k次。在日常工作中,服务器常常会有多台。特别是应用服务器存在多台的情况下,在每台机器手动部署或升级服务,每次登录多台机器特别麻烦,通过一台机器跳转每次输入密码(一般都是超强密码)也麻烦。所以说配置机器间的免密,对日常工作来说可以简化操作流程,节省宝贵时间。这篇就简单说说如何配置多台机器间的免密功能。_从linux服务器上ssh连接其他主机免输密码

python预测值和真实值_机器学习中用什么图可以表示预测数据与真实数据的差异?...-程序员宅基地

文章浏览阅读2.5k次。但是实际上学习机器学习可能很困难。您要么使用行为类似于“黑匣子”的预构建包,要么在其中传递数据,另一端则产生魔力,或者您必须处理高级数学和线性代数。每种方法都使学习机器学习充满挑战和威胁。用Python搭建机器学习模型预测房租价格旨在向您介绍机器学习的基本概念。在继续学习时,您将从头开始构建第一个模型以进行预测,同时准确地了解模型的工作原理。(用Python搭建机器学习模型预测房租价格基于我们的机..._python机器学习预测数据比较作图

端口扫描--zmap-程序员宅基地

文章浏览阅读1k次。ZMap被设计用来针对整个IPv4地址空间或其中的大部分实施综合扫描的工具。ZMap是研究者手中的利器,但在运行ZMap时,请注意,您很有 可能正在以每秒140万个包的速度扫描整个IPv4地址空间 。我们建议用户即使在实施小范围扫描之前,也联系一下本地网络的管理员并参考我们列举的最佳扫描体验。默认情况下,ZMap会对于指定端口实施尽可能大速率的TCP SYN扫描。较为保守的情况下,对..._zmap输出结果带端口

uva1587BOX-程序员宅基地

文章浏览阅读114次。uva1587BOX 给定6个矩形的长和宽wi和hi(1≤wi,hi≤1000),判断它们能否构成长方体的6个面。思路是首先排序,每个矩形都是x<y,就是短边x,长边y,然后对六个矩形进行二级排序,排序以后构成长方体的条件有两步,第一步,首先是三对相同的长..._给定6个矩形的长和宽w和h(l≤w,h≤1000),判断它们能否构成长方

Etherent VLAN MPLS LDP Info-程序员宅基地

文章浏览阅读771次。以太网/VLAN/MPLSTopic:以太网1. 以太网帧格式以太网帧格式可分为Ethernet II和IEEE802.3,主要区别在于源MAC地址后俩字节的的长度,所幸的是,后者定义的有效长度值与前者定义的有效类型值无一相同,这样就容易区分两种帧格式了。一、前序字段(前导码/帧间隙:Preamble/SFD)(SFD:Start of Frame Delimiter)前 序字段..._报文eth和vlan以及mpls可以共存吗

华为v系列服务器,服务器的v码-程序员宅基地

文章浏览阅读599次。服务器的v码 内容精选换一换给指定的备份策略添加一个标签。URI格式POST /v2/{project_id}/backuppolicy/{policy_id}/tagsPOST /v2/{project_id}/backuppolicy/{policy_id}/tags参数说明参数是否必选描述project_id是项目IDpolicy_id是策略ID参数说明参数是根据给定的裸金属服务器ID列表,..._vjum

随便推点

【AI视野·今日NLP 自然语言处理论文速览 第二十期】Thu, 8 Jul 2021_自然语言处理最新论文-程序员宅基地

文章浏览阅读301次。AI视野·今日CS.NLP 自然语言处理论文速览Thu, 8 Jul 2021Totally 25 papers????上期速览更多精彩请移步主页Daily Computation and Language PapersDORA: Toward Policy Optimization for Task-oriented Dialogue System with Efficient Context Authors Hyunmin Jeon, Gary Geunbae Lee最近,通过_自然语言处理最新论文

Delphi XE 取得当前时间戳的几个函数_delphi时间戳-程序员宅基地

文章浏览阅读501次,点赞11次,收藏9次。时间戳 delphi_delphi时间戳

bugfix之Parameter is not valid for operation xxx. Parameter is [req]. Processor is [body].-程序员宅基地

文章浏览阅读1k次。对比发现是没有加构造方法,加上注解@NoArgsConstructor 和。@AllArgsConstructor之后解决。_parameter is not valid for operation

Qt键盘事件:捕获和处理用户输入_qt 捕获键盘输入-程序员宅基地

文章浏览阅读397次。通过使用类似的方法,您可以根据自己的需求在Qt应用程序中捕获和处理键盘事件。键盘事件的处理为用户提供了更多的交互性和灵活性,使得Qt应用程序更加强大和易用。在main函数中,我们创建了一个QApplication对象和一个MyWidget对象,并显示了MyWidget窗口。函数会被调用,并传递一个QKeyEvent对象作为参数,该对象包含了有关键盘事件的详细信息,如按下的键码、修饰键状态等。在上面的示例中,我们创建了一个自定义的QWidget派生类MyWidget,并重写了它的。_qt 捕获键盘输入

TL437x-IDK开发板硬件说明书_tl437x nand-程序员宅基地

文章浏览阅读268次。Revision History DraftDate Revision No. Description 2018/2/27 V1.0 1.初始版本。 目 录前言 31处理器 42 FLASH 43 RAM 54 FRAM 5..._tl437x nand

推荐文章

热门文章

相关标签