一、Kotlin 环境搭建
在创建项目工程的时候直接勾选 Include Kotlin support 选项,选择 Kotlin 语言即可。
如果是Java老项目,Android Studio 需要安装Kotlin插件,同时手动配置 gradle,配置如下:
在 app 模块的 gradle 下加入如下代码:
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
1
2
在 project 模块的 gradle 下加入如下代码:
ext.kotlin_version = '1.4.21'
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
1
2
3
4
后文是 Kotlin 语言的具体介绍和使用,同时与 Java 语言进行对比,方便理解。
二、对象
Java 的写法
MainActivity.this
1
Kotlin 的写法
this@MainActivity
1
三、类
Java 的写法
MainActivity.class
1
Kotlin 的写法
MainActivity::class.java
1
四、继承
Java 的写法
public class MainActivity extends AppCompatActivity {
}
1
2
3
Kotlin 的写法(在 Kotlin 中被继承类必须被 open 关键字修饰)
class MainActivity : AppCompatActivity() {
}
1
2
3
五、变量
Java 的写法
Intent intent = new Intent();
1
Kotlin 的写法
var intent = Intent()
1
六、常量
Java 的写法
final String text = "";
1
Kotlin 的写法
val text = ""
1
七、静态常量
Java 的写法
public class MainActivity extends AppCompatActivity {
static final String text = "";
}
1
2
3
4
Kotlin 的写法(需要注意的是要把静态变量定义在类上方)
const val text = ""
class MainActivity : AppCompatActivity() {
}
1
2
3
4
5
八、定义方法
Java 的写法
public void test(String message) {
}
1
2
3
Kotlin 的写法(Unit 跟 void 一样效果)
fun test(message : String) : Unit {
}
// 在 Kotlin 可以省略 Unit 这种返回值
fun test(message : String) {
}
1
2
3
4
5
6
7
九、重载方法
Java 的写法
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
}
1
2
3
4
5
6
Kotlin 的写法
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
}
1
2
3
4
5
6
十、基本数据类型
Java 的写法
int i = 1;
long l = 2;
boolean b = true;
float f = 0;
double d = 0;
char c = 'A';
String s = "text";
1
2
3
4
5
6
7
Kotlin 的写法
var i : Int = 1
var l : Long = 2
var b : Boolean = true
var f : Float = 0F
var d : Double = 0.0
var c : Char = 'A'
var s : String = "text"
// 更简洁点可以这样,自动推倒类型
var i = 1
var l = 2
var b = true
var f = 0F
var d = 0.0
var c = 'A'
var s = "text"
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/T01151018/article/details/130506726