kotlinのアクセス修飾子と同値性と同一性とAny?について


クラス/トップレベル関数と変数に対する宣言は
public:どこからでもアクセス可能(デフォルト)
internal:同じモジュール内からアクセスできる
private:宣言したクラスからのみアクセスできる

クラスメンバに対する宣言は
public:全てのクラスからアクセス可能(デフォルト)
internal:同じモジュール内のクラスからアクセスできる
protected:サブクラスからのみアクセスできる
private:宣言したファイルからのみアクセスできる

なので、kotlinのfile privateは priveです。

kotlinはjavaとの設計思想の違いでデフォルトのpublicでは、
valにはオートゲッター,varには/オートゲッターとオートセッターが付きます。
なので、javaとの後方互換性の為、public(デフォルト)の場合には、
ラベルを大量に出します。

ファイル単位でしか見れなくするためには(file private)は、
privateです。

定数は const val HOGE == "hoge"
です。

同値性は==(値が同じ),同一性(ポインタが同じ)は===です。

型ヒエラルキーのルートに存在するトップはAny?です。
Any?->その他の全てのNul許容型,Any?->Any->その他のNull非許容型です。

以上です。


戻る