Kotlin 和 Java 不同,一个 .java 文件必须以一个类作为顶级元素的,而一个 .kt 文件并不需要以一个类作为顶级元素,一个.kt 中可以存在多个类,多个方法,甚至一个.kt 文件可以全部由方法和属性构成(这就类似于FP编程风格了);
demo.kt
fun foo(param:String):String{
...
}
class User(var name:String,var age:Int){
...
}
class address(var city:String,var country:String){
...
}
以下是一个典型的 JavaBean 代码转化为 Kotlin 代码
User.java
public class User {
private String name;
private int age;
private String city;
public User() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
User.kt
class User(){
var name:String? = null;
var age:Int? = null;
var city:String? = null;
}
对于Kotlin的类,其构造器分为主构造器和次构造器,主构造器只有一个,次构造器可以有多个,如下:
class User(name:String){ //主构造器的参数在类声明中声明
var name:String? = null;
var age:Int? = null;
var city:String? = null;
init{ //主构造器
this.name = name;
}
constructor(name:String,age:Int):this(name){ //次构造器,调用主构造器,使用this关键字调用其他构造器
this.age = age;
}
constructor(name:String,age:Int,city:String):this(name,age){ //次构造器,调用上面的构造器
this.city = city;
}
}