Kotlin
文章平均质量分 75
xiaoweiguoyuan
这个作者很懒,什么都没留下…
展开
-
Kotlin 入门第九天——继承、接口、扩展
一、继承1. 定义一个Base类:open class Base(p: Int) { open var x = 0 open val y = 0}定义一个子类Child,继承Base类,要注意,这个子类没有构造函数. 子类没有构造函数,必须在每一个二级构造函数中用super关键字初始化基类,或者在代理另一个构造函数。class Child(p: Int) : Base(p) {}引用Child方式:val child = Child(100)...原创 2020-09-07 18:24:04 · 420 阅读 · 1 评论 -
Kotlin 入门第八天:类——嵌套类、内部类、匿名内部类
1、 首先梳理一下类的修饰符classModifier:abstract 抽象类final 不可继承类,默认是该属性enum 枚举类open 可继承类annotation 注解类accessModifier:private: 仅在同一个文件中可见protected:仅在同一个package或者子类中可见public:所有地方可见internal:同一模块中可见2、嵌套类class OuterClass { private val bar: In原创 2020-07-30 21:03:14 · 227 阅读 · 0 评论 -
Kotlin 入门第七天:构造函数 —— 主构造器、次构造器
1、 主构造函数主构造器中不能包含任何代码,初始化代码可以放在初始化代码段中,初始化代码段使用 init 关键字作为前缀。class ConsClaz constructor(name: String) { init { println("Name is : $name") }}2、次构造函数可以理解成二级构造函数,主要有以下三种方式class Person() { constructor(parent: Person) : this() {原创 2020-07-30 20:51:36 · 822 阅读 · 1 评论 -
Kotlin 入门第六天:类和对象——类及属性、方法的定义和使用
1、类的定义class Class1 { var name: String = "张三" fun foo() { println(name) } }2、类的get 和 set 方法class Class1 { fun foo() { println(name) } var name: String = "张三" get() = field.toUperCase() //将比昂亮原创 2020-07-30 20:35:09 · 156 阅读 · 0 评论 -
Kotlin 入门第五天:循环控制——For、while、for each、Loop
1、For 循环 代码示例:首先生命了一个数组items,采用for 循环遍历这个数组并打印出来。第二个for循环,打印的时候用到了 $ 引用,在字符串一节中(Kotlin 入门第四天:基本数据类型及其转换 —— 字符、bool、数组、位操作符)我们已经了解过。//for 循环 fun fOr() { val items = listOf("apple", "banana", "kiwi") for (item in items) {原创 2020-07-28 20:50:19 · 237 阅读 · 0 评论 -
Kotlin 入门第四天:基本数据类型及其转换 —— 字符、bool、数组、位操作符
1. 位操作符shl(bits) - 左移位,对应java <<shr(bits) - 右移位,对应Java >>ushr(bits) - 无符号右移位,对应Java >>>and(bits)- 与,&&or(bits)- 或,||xor(bits)- 异或inv()- 反向2. 字符在kotlin中,Char 不能直接和字符操作,Char必须是单引号包含起来的,比如 ‘a', ’0‘。这点和Java不同fu原创 2020-07-27 20:53:58 · 496 阅读 · 0 评论 -
Kotlin 入门第三天:基本数据类型及其转换
double 的默认写法var a = 123.5var b = 123.5e10var oneMillion = 1_000_000var cardNumber = 123_5678_9012_3456Lvar hexBytes = 0xFF_EC_ED_SEvar bytes = ob1101010010_01101001_10010100_10010010两个数字的比较:1)“====”,需要值、对象地址都相等才可以返回true;2)“==”,只需要值相等便可以返回true原创 2020-07-22 20:39:46 · 230 阅读 · 0 评论 -
Kotlin 入门第二天:变量、?判空、区间 及类型转换
Kotlin 入门第二天:变量、?判空、区间 及类型转换变量可变变量var name: String = “”不可变变量val name: String = “123”? 判空逻辑var age: String? = “23” //变量name可以为空/抛出空指针异常/val ages = age!!.toInt()/*? 表示不作处理,返回null*/var ages1 = age?.toInt()/*第一个?表示空不处理,第二个表示空的话,返回-1* 最终表示,如果age为空,原创 2020-07-15 20:39:54 · 157 阅读 · 0 评论 -
Kotlin 入门第一天:函数实现的几种方式
一、简单函数fun testPrint() { Log.i("@@@", "Hello World, 我的Kotlin的第一个函数") }二、带返回值的函数 —— 3 中实现方式,以返回Int为例 /** * public 方法必须写出返回类型 */ public fun sum3(a: Int, b: Int) = a + b Public 必须写出返回类型 fun sum2(a: Int, b: Int) = a +.原创 2020-07-14 20:36:48 · 173 阅读 · 0 评论 -
是时候梳理一下Kotlin的知识点了
是时候梳理一下Kotlin了很不喜欢将平时的学习记录成博客,就像流水账一样,觉得没有深度,但是深奥的东西就那么些,多数时间的工作中,用到的仍是基础知识。我是从2017年开始使用Kotlin写代码,转眼已是3年,今天突然想起,自己有一天不写代码了,曾经翻阅的资料是不是就都消失浪费了,猛然间,觉得,将基础知识梳理一下,将平时遇到的难点、踩过的坑也一并分享出来,与大家共同学习和进步,若能在某个不经意间帮助到一些人,则所费力气,也是值得的,自己也就心满意足了。...原创 2020-07-14 20:22:26 · 147 阅读 · 0 评论 -
Android Studio-Didn't find class XXX on path: DexPathList [zip file "/data/app/packagename/base.apk]
记录自己尴尬的一次低级错误。我出现的这个问题,Clean 没有用,删除build 和.gradle 文件也不凑效,最后检查发现,是因为自己使用kotlin编码,没有进行kotlin配置导致的。...原创 2019-12-09 13:48:36 · 384 阅读 · 0 评论