Kotlin是一门与Swift类似的静态类型JVM语言,由JetBrains设计开发并开源。与Java相比,Kotlin的语法更简洁、更具表达性,而且提供了更多的特性,比如,高阶函数、操作符重载、字符串模板。它与Java高度可互操作,可以同时用在一个项目中。
\\按照JetBrains的说法,根据他们多年的Java平台开发经验,他们认为Java编程语言有一定的局限性和问题,而且由于需要向后兼容,它们不可能或很难得到解决。因此,他们创建了Kotlin项目,主要目标是:
\\- 创建一种兼容Java的语言 \\
- 编译速度至少同Java一样快 \\
- 比Java更安全 \\
- 比Java更简洁 \\
- 比最成熟的竞争者Scala还简单 \
Ashraff Hathibelagal是一名喜欢研究新框架和SDK的独立开发者。近日,他撰文介绍了Kotlin的一些语法。按照他的说法,一个合格的Java程序员可以在很短的时间内学会使用Kotlin。
\\类与构造函数
\\Kotlin创建类的方式与Java类似,比如下面的代码创建了一个有三个属性的Person
类:
class Person{\ var name: String = \"\"\ var age: Int = 0\ var college: String? = null\}\
\\
可以看到,Kotlin的变量声明方式略有些不同。在Kotline中,声明变量必须使用关键字var
,而如果要创建一个只读/只赋值一次的变量,则需要使用val
代替它。另外,为了实现“空安全(null safety)”,Kotlin对可以为空的变量和不可以为空的变量作了区分。在上述代码中,变量name
和age
不可为空,而?
表明变量college
可以为空。定义完类之后,创建实例就非常简单了:
var jake = Person()\
\\
注意,Kotlin没有关键字new
。实例创建完成后,就可以像在Java中一样为变量赋值了:
jake.name = \"Jake Hill\"\jake.age = 24\jake.college = \"Stephen's College\"\
\\
变量可以采用上述方式赋值,也可以通过构造函数赋值,但后者是一种更好的编码实践。在Kotlin中,创建这样的一个构造函数非常简单:
\\class Person(var name: String, var age: Int, var college: String?) {\}\
\\
而实际上,由于构造函数中没有其它操作,所以花括号也可以省略,代码变得相当简洁:
\\class Person(var name: String, var age: Int, var college: String?)\\var jake = Person(\"Jake Hill\