【Java】インスタンス化
クラスのインスタンス化
クラス という 「型」 から 「具体的な実体」 に生成されたものを インスタンス と呼びます。
そして、それらの一連の流れを インスタンス化 とよびます。
システム開発の現場では、インスタンスを生成することを「newする」とか言ったりするみたいです。
インスタンス化の書き方
//コンストラクタ名とクラス名は同じにすること!
1 2 3 4
クラス名 インスタンス名(変数名) = new コンストラクタ名()
- クラス名
- インスタンス名(変数名)
- 「=」で結んで、new演算子
- コンストラクタ名
の順で記述します。
Calulator calc = new Calulator;
上記のインスタンスを生成した例ですが、最初のクラス名「Calulator」と
最後のコンストラクタ名「Calulator()」が 同じ です。
コンストラクタの説明にもあるように、
コンストラクタ名=クラス名 であるためです。
インスタンスを生成するクラスのコンストラクタの作り方によって左右されますが、インスタンスを生成するクラスのコンストラクタによっては引数の値を与えてインスタンスを生成しなければなりません。
クラス名 インスタンス名(変数名) = new コンストラクタ名(引数の値)
サンプルコード2
まずこちらが、「データ」や「処理」を書いた クラス側のコード です。
最初に言った「クラスのプログラミング」に当たる部分です。
//クラス
public class HelloWorld {
// フィールド
private String printHello;
// コンストラクタ
public HelloWorld() {
printHello = "Hello World";
}
// メソッド
public void print() {
System.out.println(printHello);
}
}
下記がクラスの呼び出し側の「プログラムを実行するためのクラス」のコードです。
このままではまだ型の状態なので、こちらでプログラムを実行できる状態、つまり インスタンス化 します。
//プログラムを実行するためのクラス(mainメソッドを持つクラス)
public class Main {
// mainメソッド
public static void main(String[] args) {
// HelloJavaクラスのインスタンスを生成して、HelloJavaクラス型の変数printHelloWorldに保持する
HelloWorld printHelloWorld = new HelloWorld();
// 生成したインスタンスより、HelloWorldクラスのprintメソッドを呼び出す
printHelloWorld.print();
}
}
Author And Source
この問題について(【Java】インスタンス化), 我々は、より多くの情報をここで見つけました https://qiita.com/takahirocook/items/ec01cdcbb440cf0d1cc4著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .