Kotlin 帶你飛 ? 語法篇 ? 類

本文采用與 Java 語法作對比的方式羅列并介紹 Kotlin 類的用法鞭光。依然是類似《Kotlin 帶你飛 ? 語法篇 ? 基礎》的套路视事,希望能對看到這篇文章的您有所幫助吧绽昏。

相關文章:

Kotlin 帶你飛

Kotlin 帶你飛 ? 語法篇 ? 基礎

Kotlin 帶你飛 ? 語法篇 ? 函數

Kotlin 帶你飛 ? 實戰(zhàn)篇

相關 Github 源碼


版權聲明:本文為 frendy 原創(chuàng)文章脑融,可以隨意轉載虏劲,但請務必在明確位置注明出處阅虫。


Constructor Call

Java

final File file = new File("file.txt");

Kotlin

val file = File("file.txt")

Class

Java

public final class User {  }

Kotlin

class User

Open Class

Java

public class User {  }

Kotlin

open class User

Final Attributes

Java

final class User {
    private final String name;

    public User(String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }
}

Kotlin

class User(val name: String)

Primary Constructor

Java

final class User {
    private String name;

    public User(String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

Kotlin

class User(var name: String)

Optional Arguments in Constructors

Java

final class User {
     private String name;
     private String lastName;

     public User(String name) {
         this(name, "");
     }
     public User(String name, String lastName) {
         this.name = name;
         this.lastName = lastName;
     }
     // And Getters & Setters
 }

Kotlin

class User(var name: String, var lastName: String = "")

Properties

Java

public class Document {
    private String id = "00x";

    public String getId() {
        return id;
    }
    public void setId(String id) {
        if(id != null && !id.isEmpty()) {
            this.id = id;
        }
    }
}

Kotlin

class Document{
    var id : String = "00x"
        set(value) {
            if(value.isNotEmpty())  field = value
        }
}

Abstract Class

Java

public abstract class Document{
   public abstract int calculateSize();
}

public class Photo extends Document{
    @Override
    public int calculateSize() {

    }
}

Kotlin

abstract class Document {
    abstract fun calculateSize(): Int
}

class Photo : Document() {
    override fun calculateSize(): Int {

    }
}

Singleton

Java

public class Document {
    private static final Document INSTANCE = new Document();

    public static Document getInstance(){
       return INSTANCE;
    }
}

Kotlin

object Document {

}

Extensions

Java

public class ByteArrayUtils {
    public static String toHexString(byte[] data) {

    }
}

final byte[] dummyData = new byte[10];
final String hexValue = ByteArrayUtils.toHexString(dummyData);

Kotlin

fun ByteArray.toHex() : String {

}

val dummyData = byteArrayOf()
val hexValue = dummyData.toHex()

Inner Class

Java

public class Documment {
    class InnerClass {

    }
}

Kotlin

class Document {
    inner class InnerClass
}

Nested Class

Java

public class Documment {
    public static class InnerClass {

    }
}

Kotlin

class Document {
    class InnerClass
}

Interface

Java

public interface Printable {
    void print();
}

public class Document implements Printable {
    @Override
    public void print() {

    }
}

Kotlin

interface Printable{
    fun print()
}

class Document : Printable {
    override fun print() {

    }
}

愿大家都能飛得更高演闭、飛得更開心...嗯,開心很重要...

qrcode_card.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末颓帝,一起剝皮案震驚了整個濱河市米碰,隨后出現的幾起案子,更是在濱河造成了極大的恐慌购城,老刑警劉巖吕座,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異瘪板,居然都是意外死亡吴趴,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門篷帅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來史侣,“玉大人,你說我怎么就攤上這事魏身【鳎” “怎么了?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵箭昵,是天一觀的道長税朴。 經常有香客問我,道長家制,這世上最難降的妖魔是什么正林? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮颤殴,結果婚禮上觅廓,老公的妹妹穿的比我還像新娘。我一直安慰自己涵但,他們只是感情好杈绸,可當我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布帖蔓。 她就那樣靜靜地躺著,像睡著了一般瞳脓。 火紅的嫁衣襯著肌膚如雪塑娇。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天劫侧,我揣著相機與錄音埋酬,去河邊找鬼。 笑死烧栋,一個胖子當著我的面吹牛写妥,可吹牛的內容都是我干的。 我是一名探鬼主播审姓,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼耳标,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了邑跪?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤呼猪,失蹤者是張志新(化名)和其女友劉穎画畅,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體宋距,經...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡轴踱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了谚赎。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片淫僻。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖壶唤,靈堂內的尸體忽然破棺而出雳灵,到底是詐尸還是另有隱情,我是刑警寧澤闸盔,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布悯辙,位于F島的核電站,受9級特大地震影響迎吵,放射性物質發(fā)生泄漏躲撰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一击费、第九天 我趴在偏房一處隱蔽的房頂上張望拢蛋。 院中可真熱鬧,春花似錦蔫巩、人聲如沸谆棱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽础锐。三九已至嗓节,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間皆警,已是汗流浹背拦宣。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留信姓,地道東北人鸵隧。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像意推,于是被迫代替她去往敵國和親豆瘫。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,627評論 2 350

推薦閱讀更多精彩內容