Kotlin基础入门 - 变量、函数(方法)、对象、继承、接口
虽然之前用了Kotlin一段时间,但是回头看竟然没有做这方面的笔记,索性系统记录一下
基础过度
- Kotlin基础入门 - 变量、函数(方法)、对象、继承、接口
- Kotlin基础入门 - 静态变量、常量 And 静态函数、方法-
- Kotlin实战基础 - 设置点击事件、Activity跳转、传值
- Kotlin实战基础 - Activity、Fragment传递参数
自语:Kotlin语法糖真是秀儿,话说,并不是Java不如Kotlin,而是Google在推属于android自己的语言
-
-
- 如何声明变量?
-
- Java
- Kotlin
- 如何声明方法、函数?
-
- 无参无返回值
- 无参有返回值
- 有参无返回值
- 有参有返回值
- 单表达式函数
- 如何创建对象?
-
- Java
- Kotlin
- 如何类继承?
-
- Java
- Kotlin
- 如何实现接口?
-
- Java
- Kotlin
-
本篇主要记录一些 Kotlin
基础使用方法,方便各位 快速从Java转战到Kotlin
,为了简单明了我会综合Java、Kt的不同使用
一并记录,有兴趣的也可以自己去 Google 的 Kotlin文档 学习 ~
如何声明变量?
Java
String data = "宋老三";
Kotlin
在Kotlin声明变量时,通常有俩种方式
var
赋值可被修改val
仅支持初始化赋值,可参考Javafinal
关键字
Kotlin 常规版
var dataVar: String = "宋老三"
val dataVal: String = "宋老三"
Kotlin 简化版(Kt 自带类型推断
特性,可根据赋值数据自行推断变量类型)
var dataVar = "宋老三"
val dataVal = "宋老三"
如何声明方法、函数?
函数又称为方法,是具有特定功能的一段独立程序。
我们在Java中经常将函数说成方法,在Kotlin中称为函数更多一些
,关于函数主要使用fun函数
进行声明,以下一般为函数组成结构
函数声明 函数名称([参数名称:参数类型,参数名称:参数类型]):返回值类型{
执行语句
…
return 返回值
}
- 函数声明:Kotlin中的函数声明使用关键字
fun
。 - 函数名称:
每一个函数都有函数名称
,方便在函数调用时使用。 - 参数类型:用于限定调用函数时
传入参数的数据类型
。 - 参数名称:是一个
变量
,用于接收调用函数时传入的数据
。 - 返回值类型:用于
限定函数返回值的数据类型
。 - 返回值:被
return语句返回的值,该值会返回给调用者
。
无参无返回值
Java
public void test() {}
Kotlin
fun test() {
println("这是一个无参无返回值的函数")
}
返回 Unit类型,可不写
fun test(): Unit {
println("这是一个无参无返回值的函数")
}
无参有返回值
Kotlin
fun test(): String {
return " 这是一个无参有返回值的函数"
}
有参无返回值
Java
public void test(int num1) {}
Kotlin
fun test(num1: Int) {
println("这是一个无参无返回值的函数")
}
有参有返回值
Java
public int test(int num1, int num2) {
return num1 + num2;
}
Kotlin
注意:档方法需要return返回值时,在方法后声明返回类型
fun test(num1: Int, num2: Int): Int {
return num1 + num2
}
单表达式函数
语法糖 - 当返回值仅为一行时可以直接使用 = 返回
fun test(num1: Int, num2: Int): Int = num1 + num2
如何创建对象?
Java
创建类(包含set方法、get方法、构造方法)
public class Dream {
public String what;
public String time;
public Dream() {
super();
}
public Dream(String what, String time) {
this.what = what;
this.time = time;
}
public String getWhat() {
return what;
}
public void setWhat(String what) {
this.what = what;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
}
创建对象
Dream info = new Dream("Life","2022");
Kotlin
创建类(包含set方法、get方法、有参构造方法
)
open class Dream {
//父类无参的次构造器
constructor() {
println("无参构造器")
}
//父类无参的次构造器
constructor(what: String, time: String) {
println("无参构造器")
}
}
简化写法,不过没有无参构造
open class Dream(var what: String, var time: String) {}
创建对象
var dream: Dream = Dream("Life", "2022")
//类型推导
var dream = Dream("Life","2022")
如何类继承?
Java
public class Son extends Dream{}
Kotlin
class Son : Dream(){}
如何实现接口?
Java
创建接口
public interface DreamListener {
public void gogo();
}
接口实现
实现方式 → implements +接口
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity implements DreamListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public void gogo() {
}
}
Kotlin
创建接口
interface DreamListener {
fun gogo()
}
接口实现
实现方式 → :+接口
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
class MainActivity : AppCompatActivity(), DreamListener {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
override fun gogo() {
}
}