日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Kotlin系列之类和属性

發布時間:2025/4/16 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Kotlin系列之类和属性 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這一節我們學習Kotlin的類和屬性。

學習過Java的小伙伴對面向對象應該不會陌生吧。雖然說Kotlin支持直接在文件中寫函數,但是它同樣支持面向對象,下面就來了解一下Kotlin的類和屬性相關的知識。

Kotlin的類

Kotlin中類的聲明也是使用class關鍵字,下面我們通過對你Java代碼和Kotlin代碼來學習。

Java代碼

public class People {private final String name;public People(String name){this.name = name;}public String getName() {return name;} } 復制代碼

Kotlin代碼

class People(val name: String) 復制代碼

你沒有看錯,就是這么簡潔,對于我們常用的Java 的構造函數初始化成員變量,Kotlin直接省略了代碼,默認支持。同時,Kotlin中默認的可見性是public,所以此處省略了。

Kotlin的屬性

在Java中我們經常會聲明一個類,表示一個實體,然后在其中聲明私有屬性和對應的getter和setter方法,就如下面一樣。

Java代碼

public class People {private String name;private String age;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAge() {return age;}public void setAge(String age) {this.age = age;} } 復制代碼

我們看看Kotlin中的寫法

Kotlin代碼

class People {var name: String? = nullvar age: String? = null } 復制代碼

是不是很簡潔,上面的代碼有如下幾點需要注意。

1 . var關鍵字表明這個變量是可變的,也就是可以反復賦值的。

2 . 聲明格式是 關鍵字 變量名: 變量類型,這里還賦值為null。

3 . ?表示這是一個可空的屬性,也就是可以為null的屬性。

我們發現上面的代碼沒有getter和setter方法,其實Kotlin默認為我們生成了,只是不需要顯式寫出來而已。

同時還有幾點需要注意

1 . Kotlin為var變量默認生成getter和setter方法,功能與Java的getter和setter方法一致。

2 . Kotlin為val變量默認生成getter方法,由于val只能賦值一次,自然就沒有setter方法啦。

Java和Kotlin的互操作

前面的內容我們說過Kotlin是一門專注于互操作性的語言,可以與Java無縫結合。那么我們如何在Java中使用Kotlin的類呢。

Kotlin代碼

class People {var name: String? = nullvar age: String? = null } 復制代碼

這是上面的代碼塊,下面我們先來看看在Kotlin中如何使用這個類。

fun main(args: Array<String>){val people = People();people.age = "12";people.name = "bingjianit";println(people.age + " " + people.name); } 復制代碼

輸出結果

12 bingjianit 復制代碼

你會發現與Java有以下幾點不同

1 . 不需要new一個對象

2 . 可以直接通過對象.屬性來取值或者賦值

下面看看上面的代碼在Java中如何調用

public class Main {public static void main(String[] args) {People people = new People();people.setName("bingjianit");people.setAge("12");System.out.println(people.getName() + " " + people.getAge());} } 復制代碼

你會發現雖然Kotlin代碼中沒有getter和setter方法,但是在Java代碼中可以直接調用getter和setter代碼。

注意: Kotlin默認我我們生成的getter和setter方法的規則與Java中自動生成getter和setter的規則相同,但是當一個變量以is開頭時,它的getter方法就是變量本身,setter方法是去掉is加上set前綴。 例子

Kotlin代碼

class People {var name: String? = nullvar age: String? = nullvar isRunnable: Boolean? = null } 復制代碼

Java代碼

// 去掉is加上set前綴 people.setRunnable(true); //getter方法是變量本身,沒有前綴 System.out.println(people.isRunnable()); 復制代碼

反過來,Kotlin操作Java的類實體,也是一樣的。

Java代碼

public class Animal {private String name;public String getName() {return name;}public void setName(String name) {this.name = name;} } 復制代碼

Kotlin調用代碼

fun main(args: Array<String>){val animal = Animal()animal.name = "兔子"println(animal.name)} 復制代碼

寫在最后

這一部分我們簡單了解了Kotlin面向對象的類和屬性相關知識,這是我們寫出結構清楚的代碼的基礎。

總結

以上是生活随笔為你收集整理的Kotlin系列之类和属性的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。