Java SE11 Silverの学習 01
一昨年末、Java SE11 Silverの独習をしておりまして、1回目はまさかの不合格、1か月後のリベンジで何とか合格できました。
今回、Goldへの挑戦の為、久しぶりにJava SE11 Silverの黒本をやり直してみたら、かなり忘れてしまってました。
という事で、しばらくミスしたところを、この場にメモメモしていこうと思います。
・オーバロード(メソッドの多重定義)という仕組みで、シグニチャで同名メソッドを区別します。
シグニチャとは、メソッド名と引数のリストのセットのことです。引数の型や数、順番が違うと別のメソッドと判断するという事ですね。
該当のシグニチャのメソッドが無ければ、コンパイルエラーを起こします。
・可変長の引数
void method(int value, int... num)
上記のnumは、可変長の引数として配列にして取り込まれます。
型名の後にピリオド3つで、表現します。
可変長引数は、最初に記述すると、どこまでが可変長引数か分からないので、最後に記述しなければなりません。
・コンストラクタ
newでそのクラスからインスタンスを生成する時に呼び出される特別なメソッド。
戻り値の型は書かない。クラス名と同名のもの。戻り値の型を書いてしまうと、通常のメソッドとして認識されてしまう。
・初期化子( { } )
初期化子は、全てのコンストラクタで共通する前処理を記述するために使用。
コンストラクタが実行される前に実行されるので順番に注意。
・this
オーバーロードされたコンストラクタから、別のコンストラクタを呼び出す時に
使うキーワード。コンストラクタなので、最初に記述しなければならない。他の処理があるとコンパイルエラー。
・アクセス修飾子の範囲について
public
protected
無し(package private)
private
上から下に、だんだんと制限が厳しくなること、protectedは「同じパッケージに属するか」、あるいは「継承しているサブクラスから」アクセス可能であることを記憶しておくこと。protectedなのに他パッケージのメソッドにアクセスしようとしていれば、コンパイルエラーです。