Kotlin------函数和代码注释
来源:互联网 发布:mac装windows系统好吗 编辑:程序博客网 时间:2024/06/06 02:12
定义函数
Kotlin定义一个函数的风格大致如下
访问控制符 fun 方法名(参数,参数,参数) : 返回值类型{ ... ...}
- 访问控制符:与Java有点差异,Kotlin的访问范围从大到小分别是public、internal、protected、private,不声明默认是public;
- 返回值类型:不需要返回类型的函数,后面的 : 返回值类型可以缺省(这里可以看到无论是变量还是方法,Kotlin都喜欢名字在前,类型在后);
/***Kotlin版代码***///有返回参数的函数fun getName(): String { return "Kotlin"}//无返回参数的函数fun displayName(name: String) { println("name: $name")}/***Java版代码***/public String getName() { return "Java";}public void displayName(String name) { System.out.println("name: " + name);}
相比Java,Kotlin支持包级函数,即函数不依赖于类而存在。
/***Kotlin版代码***/package lesson1/** * Created by Clock on 2017/6/18. */fun main(args: Array<String>) { println("Kotlin")}/***Java版代码***/package lesson1;/** * Created by Clock on 2017/6/18. */public class Lesson1 { public static void main(String[] args) { System.out.println("Java"); }}
对比上面的代码,Java创建一个方法前还需要先创建一个类。刚开始安装IntelliJ IDEA编写代码时,我还有个疑惑,为什么有创建Kotlin File/Class两个选择,到这里就明白了。
参数变长
Kotlin的参数变长非常简单,传递的参数使用关键字vararg标明即可
/***Kotlin版代码***///参数变长fun displayActors(vararg name: String) { println("actors: " + name);}/***Java版代码***/public void displayActors(String... name) { System.out.println("actors :" + name);}
相比Java,变长参数在Kotlin代码中要常见很多。
静态变量和函数
Kotlin没有Java中的static概念,如果在Kotlin中需要像Java一样定义静态变量和函数可以使用companion object,companion object后可以加上自定义的object名,也可以省略。
/***Kotlin版代码***/class KotlinStatic { companion object Test { var kotlinInt: Int = 0 fun getInstance(): KotlinStatic { return KotlinStatic() } }}/***Java版代码***/public class Lesson1 { public static int javaInt = 0; public static Lesson1 getInstance() { return new Lesson1(); }}
这样在需要使用的地方就可以做如下调用了
package lesson0import lesson1.KotlinStatic/** * Created by Clock on 2017/6/17. */fun main(args: Array<String>) { println("Hello, world!") KotlinStatic.kotlinInt KotlinStatic.getInstance()}
package lesson0import lesson1.KotlinStatic/** * Created by Clock on 2017/6/17. */fun main(args: Array<String>) { println("Hello, world!") KotlinStatic.kotlinInt KotlinStatic.getInstance()}
虽然看起来companion object实现了类似Java中static一样的功能,但与Java不同的是,Kotlin在运行时是会创建一个companion object实例对象。在Kotlin中,如果真的想要实现和Java中的static变量或函数,官方更推荐使用包级别的变量或函数来实现。
返回 Unit 的函数
如果一个函数不返回任何有用的值,它的返回类型是 Unit 。 Unit 是一种只有一个值 —— Unit 的类型。这个值不需要显式返回
Unit
返回类型声明也是可选的。上面的代码等同于fun printHello(name: String?) { ……}
package lesson0import lesson1.KotlinStatic/** * Created by Clock on 2017/6/17. */fun main(args: Array<String>) { println("Hello, world!") KotlinStatic.kotlinInt KotlinStatic.getInstance()}
代码注释
正如 Java 和 JavaScript,Kotlin 支持行注释及块注释。
// 这是一个行注释/* 这是一个多行的 块注释。 */与 Java 不同的是,Kotlin 的块注释可以嵌套。就是说,你可以这样注释:
/** * hhhh * /** * fff * /** * ggggg * */ * */ * * abc * */
阅读全文
1 0
- Kotlin------函数和代码注释
- Kotlin常见问题和代码
- 3.kotlin 类和函数
- kotlin的变量和函数
- 整洁代码之道 [3] - 函数,注释,和格式
- C++代码注释行和函数个数统计
- Kotlin之字面函数和函数表达式
- Eclipse代码注释和取消注释快捷键
- kotlin的扩展函数和扩展属性
- Kotlin-12.扩展函数和属性(extensions)
- Kotlin中的函数和Lambda表达式
- Hello Kotlin(三)类和函数
- Kotlin-22.Lambda表达式和函数
- Kotlin高阶函数和Lambda表达式
- Kotlin全局函数的引入和范围
- 解析Kotlin函数和属性扩展
- Kotlin 函数
- Kotlin-函数
- 工作半年
- Java进制转换
- 数组系列面试题
- 【hpu oj 1018 985的最大和难题 [思维]】
- 面试OR笔试22——数组中只出现一次的数字
- Kotlin------函数和代码注释
- 求1+2+3+...+n
- TCP UDP TCP三次握手
- Python3:《机器学习实战》之k近邻算法(2)我们约会吧
- 洛谷P3374 【模板】树状数组 1
- 问题 F: 巴什博弈?
- 什么是网络套接字(Socket)
- 鼠标案例【完美告白,为爱转身】
- 【原创】不小心把.settings文件夹, 以及.classpath和.project文件push进了远程仓库了怎么办