原文地址: Kotlin学习快速入门(7)--扩展的妙用 - Stars-One的杂货小窝 之前也模模糊糊地在用这个功能,也是十分方便,可以不用继承,快速给某个类增加新的方法,本篇便是来讲解下Kotlin中扩展这一概念的使用 说明 先解释一下,扩展的说明,官方文档上解释: Kotlin 能够扩展一个类的新功能,而无需继承该类或者使用像装饰者这样的设计模式 简单来说,就是可以不用继承来让一个类多出一个方法或属性(成员变量),可能这样说比较抽象,我们以一个简单的例子来说 比如说,我们需要用到以下功能…
类 参考链接 类定义格式 使用class关键字定义,格式如下: class T{ //属性 //构造函数 //函数 //内部类 } Java Bean类 java bean类 //java bean类 public class Student { private String name; private int age; public Student() { } public Student(String name) { this.name = name; } public Student(St…
条件 if条件判断 常用的判断和Java一样,这里提一下不同的用法 1.if可以作为三元运算符 val max = if (a > b) a else b 2.使用in判断是否在某个区间 val x = 1 //相当于条件 1<= x <=8 if(x in 1..8){ println("在区间内") } //与上面的条件相反 if(x !in 1..8){ ... } 3.is关键字类型转换 相当于Java中instanceof关键字 使用了is,kotlin已经…
List,Set,Map都是集合 List 是一个有序集合,可通过索引(反映元素位置的整数)访问元素.元素可以在 list 中出现多次.列表的一个示例是一句话:有一组字.这些字的顺序很重要并且字可以重复. Set 是唯一元素的集合.它反映了集合(set)的数学抽象:一组无重复的对象.一般来说 set 中元素的顺序并不重要.例如,字母表是字母的集合(set). Map(或者字典)是一组键值对.键是唯一的,每个键都刚好映射到一个值.值可以重复.map 对于存储对象之间的逻辑连接非常有用,例如,员工的…
本文适合有Java基础的人 Kotlin语法特点 相比java,省略括号,可以自动判断类型,省略new关键字,空指针捕获 主函数 kotlin文件(kt文件)中,只有要下列的方法,就可以运行,无需像之前的java那般,还要定义个类,写上main方法 fun main(args: Array<String>) { println("hello world") } 基本数据类型 这是说是基本数据类型,其实下面的这些都是kotlin封装好的类,就是相当于Java中的Integer…
介绍 kotlin中,对象可分为两种类型,可为空的对象和不可为空对象 默认为不可为空对象,代码检测如果发现不可为空对象赋予了null,则会标红报错. 可为空的对象,如果调用了方法,代码检测也会标红报错 var s: String = "hello" //不可为空 s = null//标红报错 var s: String? = "hello" s=null //代码检测通过 println(s.length)//标红报错 调用可为空对象的属性或方法 这样的好处就是,如…
其他章节请看: es6 快速入门 系列 类 类(class)是 javascript 新特性的一个重要组成部分,这一特性提供了一种更简洁的语法和更好的功能,可以让你通过一个安全.一致的方式来自定义对象类型. 试图解决的问题 es5 及早期版本中没有类的概念,通常会编写类似下面这样的代码来自定义类: // 自定义类的思路是:首先创建一个构造函数,然后定义一个方法并赋值给构造函数的原型 function Rectangle(length, width){ this.length = length;…
抽象类是由abstract修饰的类,定义方式如public abstract class A{...}. 接口由interface修饰,定义方式如public interface B{...}. 抽象类与接口的具体特性见下文. 抽象类: (1).抽象类中由abstract修饰的方法称为抽象方法,抽象方法没有具体实现,要等子类继承后再实现:声明方式如public abstract void run();. (2).只要某类中有一个方法为抽象方法,该类就必须要定义为抽象类. (3).抽象类不一定有抽…
Kotlin中的类遵循一个简单的结构.尽管与Java有一点细微的差别.你可以使用try.kotlinlang.org在不需要一个真正的项目和不需要部署到机器的前提下来测试一些简单的代码范例. 1. 怎么定义一个类 如果你想定义一个类,你只需要使用class关键字. class MainActivity{ } 它有一个默认唯一的构造器.我们会在以后的课程中学习在特殊的情况下创建其它额外的构造器,但是请记住大部分情况下你只需要这个默认的构造器.你只需要在类名后面写上它的参数.如果这个类没有任何内容可…
声明类和接口: //类 class A{ } //接口,接口中的方法可以有默认实现 interface B{ fun show(){ print("i'm B") } } //用冒号代替extends和implements,可以实现多个接口,只能继承一个类 class C:A,B{ } //带参数且有继承的类,参数如果带val,即这个参数在类中默认被初始化,如果不带,这个参数需要在类中自己初始化 class D(val d:Int):A{ } class D(_d:Int){ priv…