| ア | イ | ウ | エ | オ | 
| カ | キ | ク | ケ | コ | 
| サ | シ | ス | セ | ソ | 
| タ | チ | ツ | テ | ト | 
| ナ | ニ | ヌ | ネ | ノ | 
| ハ | ヒ | フ | ヘ | ホ | 
| マ | ミ | ム | メ | モ | 
| ヤ | ユ | ヨ | ||
| ラ | リ | ル | レ | ロ | 
| ワ | ヰ | ヴ | ヱ | ヲ | 
| ン | 
| A | B | C | D | E | 
| F | G | H | I | J | 
| K | L | M | N | O | 
| P | Q | R | S | T | 
| U | V | W | X | Y | 
| Z | 数字 | 記号 | ||
initはKotlinのソフトキーワードとして定義されている。これは適用可能な範囲が決まっている予約語である。
classの直下に記述した場合、そのclassのプライマリーコンストラクターに対応する初期化ブロックを定義するために使われるが、それ以外の箇所では変数に使うことも可能。
initは初期化ブロックを実装するためのキーワードである。これはclassがインスタンス化された際に必ず実行されるもので、一種のコンストラクターであり、classの初期化に使われる。
引数は存在せず、init { ... } の書式を取る。一つのclassに複数のinitを書くことはできるが、普通は一つだけ定義し、必要であればセカンダリーコンストラクターとしてconstructorを使用する。
初期化ブロックinitが実行されるタイミングは、それよりプログラムとして前に書かれた変数、プロパティしか初期化されていない。
initより後に記述されている変数、プロパティは、(lateinitが宣言されているものは除き)参照は可能だが内容は未定義である。
class Test {
    init { printHoge() }
    val testvar = true
    init { printHoge() }
    fun printHoge() {
        System.out.println(testvar)
    }
}
この実行結果は、次のようになる。
I/System.out: false
I/System.out: true
この結果は、多くの場合期待したものではないだろう。initは、プロパティ宣言の下に記述するのが無難である。
initは当然ながらActivity#onCreate()などより前に実行されるので、getPackageName()などの仮想メソッドは実行できない。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます