- 博客(15)
- 收藏
- 关注
原创 also与apply区别
如果你想要继续往下看 我就会默认你懂 泛型与扩展函数泛型class KT8<T>(t: T) { var type: T = t var isType: Boolean = false fun getType1(): T? { return type.takeIf { isType } } fun <R> fetch(sumf: (T) -> R): R? { return sumf(type).t
2021-11-09 18:10:08 650
原创 Kotlin入门(十一)
对象表达式与对象声明有时候,我们需要创建一个对某个类做了轻微改动的类的对象,而不用为之显式声明新的子类。 Kotlin 用对象表达式和对象声明处理这种情况。对象表达式要创建一个继承自某个(或某些)类型的匿名类的对象,我们会这么写:window.addMouseListener(object : MouseAdapter() { override fun mouseClicked(e: MouseEvent) { /*……*/ } override fun mouseEntered(
2021-06-21 14:34:23 96
原创 Kotlin入门(十)
嵌套类与内部类类可以嵌套在其他类中:class Outer { private val bar: Int = 1 class Nested { fun foo() = 2 }}val demo = Outer.Nested().foo() // == 2内部类标记为 inner 的嵌套类能够访问其外部类的成员。内部类会带有一个对外部类的对象的引用:class Outer { private val bar: Int = 1 inner
2021-06-21 14:33:51 122
原创 Kotlin入门(九)
泛型与 Java 类似,Kotlin 中的类也可以有类型参数:class Box<T>(t: T) { var value = t}一般来说,要创建这样类的实例,我们需要提供类型参数:val box: Box<Int> = Box<Int>(1)但是如果类型参数可以推断出来,例如从构造函数的参数或者从其他途径,允许省略类型参数:val box = Box(1) // 1 具有类型 Int,所以编译器知道我们说的是 Box<Int>。
2021-06-04 11:22:07 166 1
原创 鸿蒙系统APP应用开发初尝试——你好,世界
开发工具安装完成后打开应用点击第一个我用的是java开发 你们可以选择自己常用的语言 ,然后点击下一步填写信息后点击 Finish然后即进入了(我这里加载有点慢…)
2021-06-03 15:41:45 303 1
原创 Kotlin入门(八)
数据类我们经常创建一些只保存数据的类。 在这些类中,一些标准函数往往是从数据机械推导而来的。在 Kotlin 中,这叫做 数据类 并标记为 data:data class User(val name: String, val age: Int)编译器自动从主构造函数中声明的所有属性导出以下成员:equals()/hashCode() 对;toString() 格式是 “User(name=John, age=42)”;componentN() 函数 按声明顺序对应于所有属性;copy()
2021-06-01 11:27:05 71
原创 Kotlin入门(七)
函数式(SAM)接口只有一个抽象方法的接口称为函数式接口或 SAM(单一抽象方法)接口。函数式接口可以有多个非抽象成员,但只能有一个抽象成员。可以用 fun 修饰符在 Kotlin 中声明一个函数式接口。fun interface KRunnable { fun invoke()}SAM 转换对于函数式接口,可以通过 lambda 表达式实现 SAM 转换,从而使代码更简洁、更有可读性。使用 lambda 表达式可以替代手动创建实现函数式接口的类。 通过 SAM 转换, Kotlin
2021-05-28 11:25:22 109
原创 Kotlin入门(六)
类与对象接口Kotlin 的接口可以既包含抽象方法的声明也包含实现。与抽象类不同的是,接口无法保存状态。它可以有属性但必须声明为抽象或提供访问器实现。interface MyInterface { fun bar() fun foo() { // 可选的方法体 }}实现接口一个类或者对象可以实现一个或多个接口。class Child : MyInterface { override fun bar() { // 方法体 }
2021-05-28 11:24:15 92
原创 Kotlin入门(五)
类与对象属性声明属性Kotlin 类中的属性既可以用关键字 var 声明为可变的,也可以用关键字 val 声明为只读的。class Address { var name: String = "Holmes, Sherlock" var street: String = "Baker" var city: String = "London" var state: String? = null var zip: String = "123456"}要使用一个
2021-05-27 10:24:01 107
原创 Kotlin入门(四)
类与对象类与继承类Kotlin 中使用关键字 class 声明类class Invoice { /*……*/ }类声明由类名、类头(指定其类型参数、主构造函数等)以及由花括号包围的类体构成。类头与类体都是可选的; 如果一个类没有类体,可以省略花括号。class Empty构造函数在 Kotlin 中的一个类可以有一个主构造函数以及一个或多个次构造函数。主构造函数是类头的一部分:它跟在类名(与可选的类型参数)后。class Person constructor(firstName: St
2021-05-27 10:23:23 116
原创 Kotlin入门(三)
Kotlin<基础>(三)返回和跳转Kotlin 有三种结构化跳转表达式:return。默认从最直接包围它的函数或者匿名函数返回。break。终止最直接包围它的循环。continue。继续下一次最直接包围它的循环。所有这些表达式都可以用作更大表达式的一部分:val s = person.name ?: returnBreak 与 Continue 标签在 Kotlin 中任何表达式都可以用标签(label)来标记。 标签的格式为标识符后跟 @ 符号,例如:abc@、foo
2021-05-13 16:39:20 123
原创 Kotlin入门(二)
Kotlin<基础>(二)控制流If 表达式在 Kotlin 中,if是一个表达式,即它会返回一个值。 因此就不需要三元运算符(条件 ? 然后 : 否则),因为普通的 if 就能胜任这个角色。// 传统用法var max = a if (a < b) max = b// With else var max: Intif (a > b) { max = a} else { max = b} // 作为表达式val max = if (a &
2021-05-13 16:38:57 74
原创 Kotlin入门(一)
Kotlin<基础>(一)基本类型基本类型位运算这是完整的位运算列表(只用于 Int 与 Long):shl(bits) – 有符号左移shr(bits) – 有符号右移ushr(bits) – 无符号右移and(bits) – 位与or(bits) – 位或xor(bits) – 位异或inv() – 位非fun main() { val x = (1 shl 2) println("输出结果---${x}----")}//输出结果---4---
2021-05-13 16:38:18 221
原创 自定义view 太极八卦图
自定义view 太极八卦图欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入...
2019-12-05 09:44:57 187
原创 android studio 3.3.2 NDK编译C++(C) JNI调用
public class JNITest { static { System.loadLibrary("JNIHello"); } public native static String getStrFromJNI();}
2019-04-09 21:33:31 575
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人