Kotlinスタティッククラス、スタティックメソッド


静的クラス全体:
object StaticUtil{
    fun method()
    ...

クラス内の一部の静的メソッド
class StaticUtils {
    companion object {//    
        fun method()
        ...
    }
}

グローバル静的直接新規Kotlin fileを作成し、定数を定義します.メソッドval staticString=「ここでもグローバル静的文字列」
fun startIntent(context: Context, clazz: Class, bundle: Bundle?) {
    val intent = Intent()
    intent.setClass(context, clazz)
    if (bundle != null) {
        intent.putExtras(bundle)
    }
    context.startActivity(intent)
}

補足:私たちが普段コードを書くには、UserUtil、IntentUtil、DialogUtilなど、さまざまなタイプのツールクラスがあるに違いありません.Javaでは、このように書いています.
class UserUtil{

    public static void XXX(){
        ···
    }

}

この書き方をKotlinバージョンに変換すると、次のようになります.
object UserUtil{
    fun XXX(){
    }
}

そうかもしれません.
class UserUtil{
    companion object {
        fun XXX(){
        }
    }
}

では、上記のJavaバージョンでもKotlinバージョンでも、最終的な呼び出し方法は同じです.
UserUtil.XXX()

グローバル静的な書き方についてお話ししましたが、実際にはプロジェクトでツールクラスを書くときに、このような書き方を完全に使用することができます.例えば、UserUtilのKotlin fileを新規作成することができます.ktファイルを作成し、上のツールクラスの方法を直接書きます.
fun XXX(){
}

この書き方の利点は、プロジェクトでUserUtilクラス名を使用して呼び出す必要がないことです.
このようなktファイルに直接書くのとclass UserUtilクラスに書くのとではどんな違いがあるのかと聞かれるかもしれませんが、コンパイルコードを見てみると、実は同じで、コンパイル結果はJava静的ツールクラスの書き方と何の違いもありません.違いを言わなければ、クラスと方法にfinal修飾子が1つ増えています.また,クラス名でメソッドを呼び出す必要はないので,自分で書く静的メソッド名を規範化し,メソッドやktファイルが多すぎると混乱する可能性がある.これも皆さん自身の注意が必要です.プロジェクトでどのように静的クラスを書くかは、皆さんの好みによって決まります.