1.事前知識
または
事前知識として、上記リンクの内容が必要です。
2.インスタンスとは
- クラスをもとに生成された実体(オブジェクト)を
インスタンス
という。 - クラスをもとにオブジェクトを生成することを
インスタンス化
という。 -
インスタンス
は、他クラスの変数やメソッドを呼び出す(使用する)際にクラスからnew演算子
を使用することで生成できる。 - インスタンスの生成時は
コンストラクタ
が呼び出される。
3.コンストラクタとは
-
コンストラクタ
とは、クラスのインスタンス生成時に実行されるメソッドで、主にそのクラスのメンバ変数を初期化するときに使用される。 - コンストラクタの記述がない場合は
デフォルトコンストラクタ
が呼び出される。 - デフォルトコンストラクタとは、
引数なしで中身が空(処理がない)
のコンストラクタである。
4.基本的な書き方
基本的な書き方
public class メインクラス名{
public static void main(String[] args) {
// インスタンスの生成
クラス名 変数名 = new クラス名();
}
}
class クラス名{
// コンストラクタ(インスタンス生成時に実行される)
クラス名(){
初期化処理など
}
}
- 基本的なインスタンスの生成は上記のように記述します。
5.記述例
Test.java
// インスタンスとコンストラクタのテストクラス
public class Test {
// mainメソッド
public static void main(String[] args) {
// インスタンス(オブジェクト)を生成(コンストラクタ呼び出し)
Hello hello = new Hello();
}
}
// インスタンスのテストクラス
class Hello {
// コンストラクタ
Hello() {
//Helloの表示
System.out.print("Hello");
}
}
6.特殊な記述例
Test1.java
// コンストラクタ内でのインスタンス生成
public class Test1 {
// mainメソッド
public static void main(String[] args) {
// インスタンス(オブジェクト)を生成(コンストラクタ呼び出し)
new Hello1();
}
}
// コンストラクタのテストクラス
class Hello1 {
// コンストラクタ
Hello1() {
// インスタンス(オブジェクト)を生成
InstanceHello ih = new InstanceHello();
// インスタンスのメソッドの呼出し
ih.showHello();
}
}
// インスタンスのテストクラス
class InstanceHello {
// Hello表示メソッド
void showHello(){
System.out.print("Hello");
}
}
Test2.java
// 変数に格納しないインスタンス
public class Test2 {
// mainメソッド
public static void main(String[] args) {
// インスタンス(オブジェクト)を生成 & メソッド呼び出し
new Hello2().showHello();
}
}
// インスタンスのテストクラス
class Hello2 {
// Hello表示メソッド
void showHello(){
// Helloの表示
System.out.print("Hello");
}
}
7.GitHub
GitHubにソースコードを公開しています。