Skip to content

パッケージとインポート

ソースファイルはパッケージ宣言で始まることがあります:

kotlin
package org.example

fun printMessage() { /*...*/ }
class Message { /*...*/ }

// ...

ソースファイルのクラスや関数など、すべての内容は、このパッケージに含まれます。 そのため、上記の例では、printMessage() の完全な名前は org.example.printMessage であり、Message の完全な名前は org.example.Message です。

パッケージが指定されていない場合、そのようなファイルの内容は、名前のない_デフォルト_パッケージに属します。

デフォルトのインポート

多数のパッケージが、すべてのKotlinファイルにデフォルトでインポートされます:

ターゲットプラットフォームに応じて、追加のパッケージがインポートされます:

インポート

デフォルトのインポートとは別に、各ファイルは独自の import ディレクティブを含むことができます。

単一の名前をインポートできます:

kotlin
import org.example.Message // Message は修飾なしでアクセス可能になりました

または、パッケージ、クラス、オブジェクトなど、スコープ内のアクセス可能なすべての内容をインポートできます:

kotlin
import org.example.* // 'org.example' 内のすべてにアクセス可能になります

名前が衝突する場合、as キーワードを使用して衝突しているエンティティをローカルでリネームすることで、曖昧さを解消できます:

kotlin
import org.example.Message // Message にアクセス可能
import org.test.Message as TestMessage // TestMessage は 'org.test.Message' を表します

import キーワードはクラスのインポートに限定されません。他の宣言をインポートするためにも使用できます:

トップレベル宣言の可視性

トップレベル宣言が private とマークされている場合、それは宣言されたファイルに対してプライベートになります(可視性修飾子を参照)。