kotlin包的定义
包名应该定义为源文件的最上面,所有其它的内容如函数或者类等都要在包名的下面(和Java一样)使用package关键字:
我们新建一个JavaActivity文件和KotlinActivity观察包的部分不难发现:
Java:package lbjfan.kotlin.demo;(==分号结尾==)
Kotlin:package lbjfan.kotlin.demo(==没有分号==)
包的导入均使用import关键字:
Java:import android.app.Activity;(分号结尾)
Kotlin:import android.app.Activity(没有分号)
类的继承:
Java继承使用extends关键字,如:
public class JavaActivity extends Activity
Kotlin则使用:表示:
class KotlinAcativity : Activity
方法重写:
Java使用@Override在方法上面申明,如:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
Kotlin则使用Override在方法前面申明,如:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_kotlin)
}
观察上面Java和kotlin方法重写中所传参数的差异,我们来理解变量定义:
Java中变量的定义:
1)数据类型 变量名 如:int a;
2)数据类型 变量名=初始值 如:int a = 1;
Java中常量的定义,采用final关键字:
final 变量类型 常量值 如:int a = 1;
Kotlin中变量的定义,采用var关键字:
1)申明数据类型:var 变量名:数据类型 = 值,如:var a:Int = 1;
2)不申明数据类型:var 变量名 = 值;如:var a=1;(系统会根据初始值识别变量的数据类型)
Kotlin中常量的定义,采用val关键字:
1)申明数据类型:val 常量名:数据类型 = 值,如:val a:Int = 1;
2)不申明数据类型:val 常量名 = 值;如:val a=1;
**不管是定义变量还是常量,如果初始化的时候不赋值,则必须指定其数据类型**
至于上面重写方法onCreate()里的参数则是申明了一个Bundle类型的称为savedInstanceState的对象,?则告诉编译器该对象可以为空。
至此,我们简单了解了Kotlin的相关知识,并和Java代码进行了对比分析,读者可以自行使用体会。