2017-12-10 2 views
0

以下のような中括弧なしでKotlinでクラスを作成できることに気付きました。中括弧なしのKotlinクラス

//Example classFile.kt 
class Empty 

class SecondEmpty 

fun firstMethod() { 

} 

私の質問はなぜこのような機能が必要なのですか?どの状況でこれを使うことができますか?

上記の例では、firstMethod()というメソッドを作成しましたが、他のオブジェクトから呼び出すにはどうすればよいですか?

+0

関連:https://stackoverflow.com/questions/47588670/what-is-the-purpose-of-empty-class-in-kotlin – BakaWaii

+0

[Kotlinの空のクラスの目的は何ですか] (https://stackoverflow.com/questions/47588670/what-is-the-purpose-of-empty-class-in-kotlin) –

答えて

1

既に空クラスについてはWhat is the purpose of empty class in Kotlin?で議論されています。

についてfirstMethod:Kotlinには、トップレベルの機能があります。これらは、囲むクラスのない任意のファイルで定義できます。これのもう1つの例は、ほとんどの場合トップレベルで定義されているmainです。

トップレベル関数を呼び出す方法は?

他のファイルに関数をインポートして呼び出すことができます。たとえばfirstMethodcom/x/Example.kt(パッケージcom.x)で定義されている場合は、com.x.firstMethodを他のKotlinファイルにインポートして、そのメソッドを呼び出すことができます。

Javaの場合、最上位レベルの関数はstaticのメンバーとしてコンパイルされていることが重要です。上記の例では、Javaからcom.x.ExampleKt.firstMethodを呼び出すことができます。