1. 程式人生 > >Kotlin語言學習之使用object和companion object修飾靜態類和靜態方法

Kotlin語言學習之使用object和companion object修飾靜態類和靜態方法

Java中修飾靜態方法,使用關鍵字static,例如:

public static String getCurrentVersion() {
    return BuildConfig.VERSION_NAME;
}
Kotlin語言中使用"object"修飾靜態類,被修飾的類,可以使用類名.方法名的形式呼叫,如下:
object Util {

    fun getCurrentVersion(): String {
        return BuildConfig.VERSION_NAME
}

}
呼叫:
var version_name1 = Util.getCurrentVersion()

Kotlin語言中使用"companion object"修飾靜態方法,可以使用類名.方法名的形式呼叫,如下:

class Util2 {

    companion object {
        fun getCurrentVersion(): String {
            return BuildConfig.VERSION_NAME
}
    }

}

呼叫:

var version_name2 = Util2.getCurrentVersion()

相關推薦

Kotlin語言學習使用objectcompanion object修飾靜態靜態方法

Java中修飾靜態方法,使用關鍵字static,例如: public static String getCurrentVersion() { return BuildConfig.VERSI

Kotlin語言學習AndroidStudio下的單元測試

Androidstudio下選擇androidTest包下,新建kotlin class,如下圖 然後編寫自己的測試方法,在需要執行的方法上添加註解@Test即可 package com.lzy

C語言學習筆記 (003) - C/C++中的實參形參(轉)

變化 避免 影響 學習筆記 ++ nbsp 過去 情況 真的 今天突然看到一道關於形參和實參的題,我居然不求甚解。藐視過去在我的腦海裏只有一個參數的概念,對於形參和實參的區別還真的不知道,作為學習了幾年C++的人來說,真的深深感覺對不起自己對不起C++老師 T。T 我

c語言學習選擇結構程序設計(第三天)

c語言 選擇結構為了增加理解,寫的幾個小程序1:判斷三角形的成立以及輸出最大邊 練習前三種語句#include <stdio.h> int main() { int a,b,c; printf("請輸入三角形三邊長(邊為整數,不能輸入負數):"); scanf("%d%d%d", &a ,

Scala語言學習環境安裝(1)

下載 erlang 利用 ons 拆分 直接 線程模型 新功能 scala ==> Scala語言簡介 --> Scala編程語言抓住了很多開發者的眼球。如果你粗略瀏覽Scala的網站,你會覺得Scala是一種純粹的面向對象編程語言,而又無縫地結合

Scala 語言學習語言基礎(2)

err 實參 col res pre tom mom argument final 註: --------scala 中的任何數據都是對象 --------Scala 可以對數據類型進行自動推導,所以定義變量時可省去數據類型==> 數據類型

Scala 語言學習泛型(7)

scala 泛型==> 泛型類 ---> T 可以代表任意類型class Person[T]{ private var name:T = _ def setName(name:T) = {this.name = name} def getName():T = {this

go語言學習旅--Go 語言環境安裝

效率 安裝包 完成 內存 系統 開發 容易 tps 分布式系 前言 筆者已經自學python大概已經幾個月了,但是工作繁忙,而且工作中未用到python的知識。於是就漸漸生疏了,這是下定決心學習go,是因為公司有一臺go編寫的報表系統,而且公司逐漸在想docker轉,學習g

Go語言學習關鍵字用途介紹 go開發

隨著技術的發展,go語言逐步的進入了市場,有很多IT技術人員想要了解go語言,有很多公司已經開始使用go語言來實現一些功能。如果你在學習go語言,那麼go語言的關鍵字都有什麼用途呢?我們來了解一下。 var :用於變數的宣告const :用於常量的宣告type :用於宣告型別func :用於宣告函式和方

go語言學習閉包函式

package main import ( "fmt" ) // 匿名函式1 func intSeq() func() int{ var arrInt = [10]int{1,2,3,4,5,6,7,8,9,10} i := -1 return func() in

go語言學習閉包函數

for test 執行c bsp () 執行 ack fun 在外 package main import ( "fmt" ) // 匿名函數1 func intSeq() func() int{ var arrInt = [10]int{1,2,3

go語言學習可變引數函式

      1 // 遍歷可變引數列表——獲取每一個引數的值 2 package main 3 4 import( 5 "fmt" 6 "bytes" 7 ) 8 9 func joinString(stringList ...s

go語言學習異常資訊處理

      // 錯誤處理 package main import( "fmt" "errors" ) var errDivByZero = errors.New("division by zero") func div(dividend, div

程式語言學習路道阻且長

** 程式語言學習之路道阻且長 ** 第一篇部落格,有個大膽的想法:我要寫下我學習Java的心路歷程,我想在以後翻開自己部落格的時候,能看到自己從小白到技術大牛的全部過程。同時也希望處於我現在這個階段的讀者們在看到我的文章後覺得不再那麼孤單。 先說一下我目前的學習階段和內心感受: 從

小程式學習路二:開發工具部分功能專案結構介紹

上一篇講到了新建專案進來,本篇主要講解開發工具部分功能和專案結構介紹,按照我的風格來,先上目錄 開發工具的部分功能簡介 小程式專案目錄簡介 以下幾個功能是我覺得比較方便喜歡的 自動儲存(設定----編輯設定-----選中修改檔案時自動儲存) console(控

Go語言學習sync包(臨時物件池Pool、互斥鎖Mutex、等待Cond)(the way to go)

golang的特點就是語言層面支援併發,並且實現併發非常簡單,只需在需要併發的函式前面新增關鍵字go。 但是如何處理go併發機制中不同goroutine之間的同步與通訊,golang 中提供了sync包來解決相關的問題,當然還有其他的方式比如channel,原子操作atomic等等,這裡先

Kotlin 全面學習路 (八) -- 屬性與欄位

1、 宣告屬性 在 Kotlin 中 屬性分為 可變屬性 和 只讀屬性: var 可變 val 只讀 示例; class Mike { val name: String = "Mike" var age: Int = 25 }

Kotlin 全面學習路 (十二) --列舉

在對 密封類 的學習過程中我們知道兩者之間有所相同,那就具體學習一下 Kotlin 中的列舉類。 1. 基本實現 enum class Direction { NORTH, SOUTH, WEST, EAST } 每一個列舉常量都是一個物件,列舉常量間使用逗

Linux學習(C語言學習Gcc)

Linux的學習需要對C語言有一個透徹性的瞭解,需要有非常好的C語言基礎,Gcc是Linux中的C檔案的一個編譯器(當然也不只侷限於C檔案)。 Gcc最初的全名是GNU C Compiler 隨著Gcc支援的語言越來越多,它的名稱變成了GNU Compiler

Linux學習(C語言學習函式的使用)

C語言的函式在理解和使用中主要從以下幾個方面來思考: 什麼是函式? 函式的入口引數 函式的返回值 函式具備三要素: 1、函式名 (地址) 2、輸入引數 3、返回值 在定義函式時,必須將三要素告訴編譯器; 命令:man 3 printf;可以檢視關於printf的