メインコンテンツまでスキップ

パッケージとインポート

ソースファイルは、package宣言で始まる場合があります。

package org.example

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

// ...

ソースファイルのクラスや関数などのすべてのコンテンツは、このpackageに含まれます。 したがって、上記の例では、printMessage()のフルネームはorg.example.printMessageであり、 Messageのフルネームはorg.example.Messageです。

packageが指定されていない場合、そのようなファイルの内容は名前のない_default_ packageに属します。

Default imports

多くのpackageは、デフォルトでKotlinのすべてのファイルにインポートされます。

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

Imports

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

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

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

または、スコープのアクセス可能なすべてのコンテンツ(package、クラス、オブジェクトなど)をインポートできます。

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

名前の衝突がある場合は、asキーワードを使用して衝突するエンティティをローカルで名前変更することで、あいまいさを解消できます。

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

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

Visibility of top-level declarations

トップレベルの宣言がprivateとマークされている場合、それは宣言されているファイルに対してprivateです(Visibility modifiersを参照)。