Kotlin の基礎入門 - 変数、関数 (メソッド)、オブジェクト、継承、インターフェース

しばらくKotlinを使っていたのですが、振り返ってみるとこの辺りはメモを取っていなかったので、体系的に記録しているだけです。

ベースオーバー

自语:Kotlin语法糖真是秀儿,话说,并不是Java不如Kotlin,而是Google在推属于android自己的语言

この記事では主に、いくつかのKotlin基本的な.快速从Java转战到Kotlin簡単でわかりやすくするために、综合Java、Kt的不同使用それらをまとめて記録します. 興味がある場合は、Google の Kotlin ドキュメントにアクセスして学習することもできます~

変数を宣言するには?

ジャワ

 String data = "宋老三";

コトリン

在Kotlin声明变量时,通常有俩种方式

  • var割り当てを変更できます
  • val初期化割り当てのみをサポートします。Javafinalキーワードを参照してください

Kotlin レギュラー

var dataVar: String = "宋老三"
val dataVal: String = "宋老三"

Kotlin の簡易バージョン (Kt 自带类型推断機能、割り当てられたデータに基づいて変数の型を推測できます)

var dataVar = "宋老三"
val dataVal = "宋老三"

メソッドと関数を宣言する方法は?

函数又称为方法,是具有特定功能的一段独立程序。

Java中经常将函数说成方法,在Kotlin中称为函数更多一些関数の主な用途をfun函数宣言していますが、一般的には次のとおりです。函数组成结构

函数声明  函数名称([参数名称:参数类型,参数名称:参数类型]):返回值类型{ 
    执行语句 
    … 
    return 返回值 
}
  • 関数宣言: Kotlin の関数宣言では、キーワードを使用しますfun
  • 関数名: 每一个函数都有函数名称、関数を呼び出すときに使用すると便利です。
  • パラメータ タイプ: 関数を呼び出すときに制限するために使用されます传入参数的数据类型
  • パラメータ名: は であり变量、 に使用されます接收调用函数时传入的数据
  • 戻り値の型: for 限定函数返回值的数据类型.
  • 戻り値: でしたreturn语句返回的值,该值会返回给调用者

パラメータなし 戻り値なし

ジャワ

 public void test() {
    
    } 

コトリン

 fun test() {
    
    
    println("这是一个无参无返回值的函数") 
 }

返回 Unit类型,可不写

 fun test(): Unit {
    
     
    println("这是一个无参无返回值的函数") 
 }

パラメータなしの戻り値

コトリン

 fun test(): String {
    
     
    return " 这是一个无参有返回值的函数" 
 }

パラメータあり、戻り値なし

ジャワ

 public void test(int num1) {
    
    } 

コトリン

 fun test(num1: Int) {
    
    
     println("这是一个无参无返回值的函数") 
 }

パラメータと戻り値を持つ

ジャワ

 public int test(int num1, int num2) {
    
    
    return num1 + num2;
 }

コトリン

注意:档方法需要return返回值时,在方法后声明返回类型

 fun test(num1: Int, num2: Int): Int {
    
    
    return num1 + num2
 }

単一式関数

シンタックス シュガー - 戻り値が 1 行のみの場合に直接使用できます= 返回

fun test(num1: Int, num2: Int): Int = num1 + num2

オブジェクトを作成するには?

ジャワ

クラスの作成(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");

コトリン

クラスを作成する( 包含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")

どのようにクラス継承?

ジャワ

public class Son extends Dream{
    
    }

コトリン

class Son : Dream(){
    
    }

インターフェイスを実装するには?

ジャワ

インターフェイスを作成する

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() {
    
    
        
    }
}

コトリン

インターフェイスを作成する

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() {
    
    

    }
}

おすすめ

転載: blog.csdn.net/qq_20451879/article/details/122549454