Kotlin从基础到进阶
文章平均质量分 67
对比Java语言,感受Kotlin开发之美
低调网友
移动开发从入门到破门而出
展开
-
扔物线Kotlin讲解学习(三)----kotlin泛型与 in,out,where,reified的点点滴滴
一. 从 Kotlin 的 in 和 out 说起提到 Kotlin 的泛型,通常离不开 in 和 out 关键字,但泛型这门武功需要些基本功才能修炼,否则容易走火入魔,待笔者慢慢道来。下面这段 Java 代码在日常开发中应该很常见了:List<TextView> textViews = new ArrayList<TextView>();其中 List 表示这是一个泛型类型为 TextView 的 List。那到底什么是泛型呢?我们先来讲讲泛型的由来。现在的程序开发大转载 2022-01-23 10:29:22 · 1168 阅读 · 1 评论 -
扔物线Kotlin讲解学习(二)----Kotlin函数的特性
一.函数简化:使用 = 连接返回值我们已经知道了 Kotlin 中函数的写法:fun area(width: Int, height: Int): Int { return width * height}其实,这种只有一行代码的函数,还可以这么写:fun area(width: Int, height: Int): Int = width * height{} 和 return 没有了,使用 = 符号连接返回值。我们之前讲过,Kotlin 有「类型推断」的特性,那么这里函数的返回类转载 2022-01-23 10:02:27 · 572 阅读 · 0 评论 -
扔物线Kotlin讲解学习(一)----Kotlin的权限修饰符详解
Kotlin 中有四种可见性修饰符:public:公开,可见性最大,哪里都可以引用。private:私有,可见性最小,根据声明位置不同可分为类中可见和文件中可见。protected:保护,相当于 private + 子类可见。internal:内部,仅对 module 内可见。相比 Java 少了一个 default 「包内可见」修饰符,多了一个 internal「module 内可见」修饰符。publicJava 中没写可见性修饰符时,表示包内可见,只有在同一个 package 内可以引用:转载 2022-01-23 09:07:15 · 1199 阅读 · 0 评论 -
Kotlin学习(七)-- java和kotlin混合开发时常用注解的使用@JvmName,@JvmField,@JvmOverloads, @JvmStatic....
一.JvmName : 修改原kt文件对应的类目用法:@file:JvmName("Kt_ZhuJie")package com.practice.day03必须写在包名上面否则报错用处:对于kt文件反编译后生成的类:ZhujieKt,是自动生成的,不能自己随心所欲的命名在Java端调用就必须是:ZhujieKt.show();而加了注解后:@file:JvmName("Kt.text")package com.practice.day03...原创 2022-01-22 11:02:28 · 3306 阅读 · 0 评论 -
Kotlin学习(六)之-- 对协变out与逆变in的理解和使用(对比Java)
/** * 1泛型Animal 是Father的父类,Son1的父类的父类 * 2泛型Father 是Animal的子类,Son1的父类 * 3泛型Son1 是Father的子类 */open class Animal(var name :String){}open class Father(name : String) : Animal(name){} class Son1(name: String):Father(name){}一. 协变out1.1/** 协变 out*/原创 2022-01-19 11:42:49 · 1929 阅读 · 0 评论 -
Kotlin学习(五)之----集合 + 数组类型 + 解构写法 list,set,map.....
对kotlin的几个集合使用以及解构写法原创 2022-01-16 14:19:45 · 3006 阅读 · 0 评论 -
Kotlin学习(四)之---- 常见内置函数的总结apply,with,let,also,run....
对kotlin常见的内置函数总结。案例源码相结合,通俗易懂原创 2022-01-15 22:03:04 · 1019 阅读 · 1 评论 -
Kotlin学习(三)之--?. ?: 以及断言符 和 == ===的区分
默认参数具有名的函数参数unit函数特点nothing类型特点反引号(键盘Esc下面的``键)中函数的用法,和为什么要添加这一功能特性原创 2022-01-15 15:30:54 · 1188 阅读 · 1 评论 -
Kotlin学习(二)之--从函数 -->匿名函数 -->lambda功能特性(结合反编译 对比Java)
一. 函数1.1定义:fun + 函数名(参数 :参数类型) :返回值类型{}例:fun method1( a : Int, b : Int) : String{ return "a + b"}不加权限修饰符默认是public看一下反编译成Java代码的效果: @NotNull public static final String method1(int a, int b) { return "a + b"; }注意:不能在不同的kt文件里定义相同的原创 2022-01-14 22:44:57 · 600 阅读 · 0 评论 -
Kotlin学习(一)之:对编译时常量以及只读类型变量的理解和俩者的区别
一. 编译时常量:const val PI = 3.141592编译时常量只能是常用的基本数据类型:(String, Double, Int, Float, Long, Short, Byte, Char, Boolean)编译时常量只能定义在函数外(如果在函数内定义的话就必须在运行时才能调用函数赋值,就不能称是编译时常量了,所以编译时常量只能定义在函数之外,这样就能在编译期间就初始化了)二. 只读类型的变量val PI = 3.141592有val 修饰的就是只读类原创 2022-01-12 13:26:02 · 550 阅读 · 0 评论