Kotlin 基础学习总结(一)

栏目: Java · 发布时间: 6年前

内容简介:本篇文章将介绍 Kotlin 的基本语法中函数,可见性修饰符以及顶层函数的概念,并与 Java 中的相关概念做出比较。阅读本文大概需要 3 分钟如何定义一个函数?首先以经典的 HelloWorld 展现,这是一个可以打印 HelloWorld 的 Kotlin 方法和一个 Java 实现版本

本篇文章将介绍 Kotlin 的基本语法中函数,可见性修饰符以及顶层函数的概念,并与 Java 中的相关概念做出比较。

阅读本文大概需要 3 分钟

目录

Kotlin 基础学习总结(一)

函数初体验

概念

如何定义一个函数?首先以经典的 HelloWorld 展现,这是一个可以打印 HelloWorld 的 Kotlin 方法和一个 Java 实现版本

HelloWorld.kt 


fun main(args : Array<String>){
    println ("Hello, world!")
}
复制代码
HelloWorld.java


public void main(Array<String> args){
    System.out.println("Hello, world!");
}
复制代码

从这个例子我们可以初步体会 Kotlin 的特点。

  1. 一个函数必需以 fun , 关键字开头,这点在 Java 中是没有的。
  2. Kotlin 的方法参数列表中,类型与变量名以 : 作为区分,并且变量类型放在 : 后面,这很像 UML 类图中方法的写法
  3. Kotlin 语句结尾,不需要分号。
  4. Kotlin 的方法可以写在类的外部,这种方法称之为 顶层函数 ,这个语法在 Java 中是没有的
  5. 在 Kotlin 中,方法的可见性默认为 public , 因此你可以省略它

下面将详细介绍顶层函数与 Kotlin 可见性修饰符的概念

可见性修饰符

概念

可见性修饰符帮助控制代码库中的声明访问,总体来说,Kotlin 的访问限制符与 Java 类似,下面对 Kotlin 和 Java 可见性修饰符做了一个介绍和比对

Kotlin 基础学习总结(一)

顶层函数与顶层属性

概念

顶层函数

顶层函数即不从属于任何类的函数。这些函数直接写在类的外面,代码的最顶层。处于文件顶层的函数依然是包内的成员,如果想在包外访问,使用 import 导入即可。

顶层属性

同顶层函数一样,顶层属性也是写在类外部的数据片段。默认情况下,顶层属性与声明在类中的属性一致,都是通过访问器暴露给 Java 使用

意图

那么 Kotlin 为什么要设计顶层函数和顶层属性?我们知道,在 Java 中,所有的代码都写在类的内部,一般没有什么问题,但是对于大型项目,总有一些代码不能归属到同一个类中,这会使得某个类不断变得臃肿,不再满足单一职责。例如项目中的许多 Utils 结尾的类,那么有了,例如这里用 java 实现的获取无分隔符的 UUID 的函数

public static String getUUID() {
        String s = UUID.randomUUID().toString(); // 默认存在 “-”
        return s.substring(0, 8) + s.substring(9, 13) + s.substring(14, 18)
                + s.substring(19, 23) + s.substring(24);      // 去掉“-”符号
 }
复制代码

现在有了 Kotlin 中的顶层函数的语法,就可以不必创造这些毫无意义的类,不必用类将这些函数包裹起来,可以将这些零散的函数之间放在 Kotlin 文件中,通过 import 引入即可。下面是 Kotlin 声明及使用顶层函数的代码:

声明:

package util

fun getUUID(): String{
    ....
}

使用:
import util.getUUID // 导入顶层函数

fun main(args: Array<String>){
   var id =  getUUID()
}
复制代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Bulletproof Web Design

Bulletproof Web Design

Dan Cederholm / New Riders Press / 28 July, 2005 / $39.99

No matter how visually appealing or packed with content a Web site is, it isn't succeeding if it's not reaching the widest possible audience. Designers who get this guide can be assured their Web site......一起来看看 《Bulletproof Web Design》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试