SHoko :
名前同等物とJavaとKotlinの主な違いは何ネストされている/インナー/ローカルクラスを?
SHoko :
これらは、名前の等価物です:
| Kotlin | Java |
|-------------------|-------------------------------------------|
| Inner Classes | Non-Static Nested Classes / Inner Classes |
| Nested Classes | Static Nested Classes |
| Local Classes | Local Classes |
| Anonymous Objects | Anonymous Classes |
これは、違いの簡単な概要です:
- 両方のケースでは、我々は、同じファイル内のグループの複数のクラスをすることができます。しかし、中にKotlin我々は同じ.ktファイルに複数のトップレベルのクラスを持つことができ、我々はコンパイル単位あたりの多くのクラスを持つことができますが、一つだけが公共の可能Javaで。
- Kotlin匿名オブジェクトは、複数のインタフェースを実装するためのサポートを持っています。
- Javaの匿名クラスは一つだけ抽象クラスやインターフェイスを実装するために制限されています。
- Kotlinでは、からローカル変数を変異させることができます閉鎖。以下のために効果的に最終のJavaの概念はKotlinには適用されないこと。
外部クラスのインスタンスを参照するKotlin内部クラスでは、我々は、使用する必要があります修飾子この表現を。
いくつかの例は、上の上に見つけることができます。このチュートリアル。