oracleJavaSilverの勉強日記(Javaの基本)
Silverを受けるにあたって勉強した内容を書いていく。
勉強資料
Javaの基本
パッケージ、インポート宣言は同じファイル全てのクラスに適用される。
パッケージ宣言は必ずソースコードの先頭行に記述する。パッケージ宣言よりも前に記述できるのはコメントだけ。
パッケージの目的
名前空間を提供し、名前の衝突を避ける。
「パッケージ.クラス名」とすることで完全修飾クラスとして扱うことができ、クラス名が同じでも区別して扱うことができる。
パッケージ名は習慣としてドメイン名を逆にしたものが使われることが多い。ただ、習慣であって決まりではない。
アクセス修飾子と組み合わせてアクセス制御機能を提供する。
アクセス修飾子を使うことで、パッケージ単位でアクセス制御ができる。
public:どこからでも呼び出せる。
protected:パッケージ内か、そのサブクラスから呼び出せる。
省略:同じパッケージ内からしか呼び出せない。
private:同じクラス内からしか呼び出せない。
クラスの分類を可能にする。
パッケージはディレクトリ構造とマッピングされるため管理が簡単になる。
インポート宣言
Java.langパッケージは基本的なクラスがまとめられているパッケージで、インポート宣言が省略されている。また、同じパッケージに属するクラスのインポート宣言も省略可能。
アスタリスク「*」を使うことで指定したパッケージに属するクラスをすべてインポートできる。ただし、サブパッケージに属するクラスをインポートされない。
無名パッケージに属するクラスは、同じ無名パッケージに属するクラスからしかアクセスできない。パッケージ宣言したクラスから、無名パッケージに属するクラスにアクセスするとコンパイルエラーになる。異なるパッケージのクラスにアクセスするにはインポート宣言を使う。
staticインポート
staticとは
staticはクラスに属するもので、インスタンスを生成しなくても実行できる。
staticなフィールドやメソッドは「クラス名.フィールド名」や「クラス名.メソッド名」と記述しなればいけない。これをフィールド名やメソッド名だけで記述できるように省略するのがstaticインポート宣言。
staticインポート宣言の書き方
フィールドやメソッドの完全修飾クラス名で記述する。
import static クラス名.フィールド名かメソッド名
※staticインポート宣言は「improt static」で始まる。
※メソッド名にカッコ「()」や引数を付けない。
※インポートしたクラスに、インポートされたメソッドやフィールドと同名のものがあった場合、そのインポートは無視される。
エントリーポイント
クラスには複数のメソッドを定義できる。その中でも最初に処理を始めるメソッドのことをエントリーポイントと呼ぶ。
エントリーポイントとなるメソッドの定義
public static void main(String[] args)
この中で変更可能なのは引数名「args」の部分だけ
引数にはString配列型だけではなく、可変長引数のString型も受け取ることもできる。
javaコマンド
javaコマンドは、JVMを起動し、mainメソッドの引数として渡される。ここで渡される引数のことを「起動パラメータ」や「コマンドライン引数」と呼ぶ。
構文
java 完全修飾クラス名[引数 引数・・・]