クラス、パッケージ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/07/14 08:30 UTC 版)
「キーワード (Java)」の記事における「クラス、パッケージ」の解説
package自クラスのパッケージを宣言する。Javaではパッケージと呼ばれるツリー構造でクラス群を分類している。クラスやメンバにアクセス修飾子(英語版) (後述する public, protected, private) を付けることにより、パッケージ内外でクラスやクラスのメンバにアクセス可能な範囲が変わってくる。 import自クラスの所属するパッケージとは異なるパッケージにあるクラスを使用するときにこの宣言でインポートする。 classクラスの定義。例えば、以下のように宣言する。それぞれについてはこの後、説明する。 例1 public class クラス名 { ... }例2 public class クラス名 extends 親クラス名 { ... }例3 public class クラス名 implements インタフェース名1, インタフェース名2, ... { ... }例4 public class クラス名 extends 親クラス名 implements インタフェース名1, ... { ... } interfaceインタフェースの定義。Javaのインタフェースとは、定義のみで実装をもたない抽象型であり、型の多重継承に使用される。インタフェースのインスタンスを直接生成することはできない。サブクラスでインタフェースを実装して使用する。実装するインタフェースはカンマ区切りで複数並べることができる。 例1 public interface インタフェース名 { ... }例2 public interface インタフェース名 extends 上位インタフェース名1, 上位インタフェース名2, ... { ... } extendsclass の宣言で他のクラスを継承するときに使用する。Javaのクラスは1つのスーパークラスのみ継承可能で、多重継承(実装の多重継承)はできない (参考: 菱形継承問題)。interfaceの宣言では一つ以上のインタフェースを継承するときに使用する。インタフェースがインタフェースを継承するだけなので、こちらの場合は多重継承が可能。 implementsclass の宣言で、インタフェースを実装するときに使用する。カンマ区切りで並べた複数のインタフェースを実装することができる。 this自クラスを明示するときに使用する。コンストラクタ内から他の引数のコンストラクタを呼ぶときに使用するのが一般的である。また、例えば、コンストラクタの場合はthis(引数)、メソッドの場合はthis.メソッド名(引数) などのように使い、親クラスに同一名・同一引数のメソッドがあるときに明示的に区別できるようにする。こちらは、ローカル変数や同じクラス内メソッドや上位クラスに同名のメソッドが存在しない場合はthisを省略できる。内部クラスのコード領域で外部クラスのインスタンスへの参照を得るときの構文(OuterClass.this)でも使用される。 super上位クラスのコンストラクタ、フィールド、メソッドにアクセスするときに使用する。上位クラスのコンストラクタを呼び出すときは単にsuper(引数)と書き、メソッドを呼び出すときはsuper.メソッド名(引数) などのように使う。フィールドやメソッドの場合は、自クラスに同一のものがない場合は super の記述を省略できる。 newコンストラクタの呼び出し。インスタンスを生成するときに使用する。 例: SampleClass s = new SampleClass(); instanceof指定されたクラスのオブジェクトかどうか、あるいは指定されたインタフェースを実装しているオブジェクトかどうかを判定する。a instanceof ClassName とした場合、a が ClassName のオブジェクトか、その派生クラスのオブジェクトであれば true になる。ClassName の箇所にオブジェクトの変数名を記述することはできない。
※この「クラス、パッケージ」の解説は、「キーワード (Java)」の解説の一部です。
「クラス、パッケージ」を含む「キーワード (Java)」の記事については、「キーワード (Java)」の概要を参照ください。
- クラス、パッケージのページへのリンク