Javaプログラミング入門#6


Java学習記録6日目
-new計画言語を使用したクラスの作成
クラスの作成と実行の手順を見てみましょう.クラスを使用するには、まずクラスを作成する必要があります.クラスを生成するコードは次のとおりです.
Javaでクラスを作成する場合はnewリザーブ語を使用し、ジェネレータを作成します.クラスデータ型変数を宣言しnew予約語呼び出しジェネレータで代入すると、新しいクラスが生成されます.
これをインスタンスと呼びます.また、インスタンスを指すクラス変数を参照変数と呼ぶ.
メッセージ
-インスタンスと参照変数が同じであるべきかどうかを正確に理解するのは難しい.
とりあえず覚えておきましょう
インスタンス:クラスのスペースを作成するか、クラスを作成します.
参照変数:スペースとスペースに含まれる内容を指します.
上で学んだコードを書いてください.
Student ㅤstudnetAhn = new Student( );
ㅤ**클래스  ㅤ변수이름ㅤㅤㅤㅤ생성자**
コードをよく見てみましょう.
以上のコードはStudent類資料型であり、studentAhn変数、new Student()を宣言する.これは、studentahnの代わりに生成されたstudentクラスを使用することを意味する.この場合studentahnは参照変数と呼ばれ、その変数を生成するインスタンスを指します.
複数のインスタンスを作成します.
ㅤpublic static void main(String[ ]args) {
ㅤStudent student1 = new Student( ); **//첫번째 학생**
ㅤStudent1.studentName = "안치즈";
ㅤSystem.out.println(student1.getStudentName( ));

ㅤStudent student2 = new Student( ); **//두번째 학생**
ㅤStudent2.studentName = "안딸기";
ㅤSystem.out.println(student2.getStudentName( ));
ㅤ}
}
2つのジェネレータを使用して、異なる変数名でクラスを作成します.すなわち、2つの異なるインスタンスが作成されます.
では、この例はどこで使えますか?
①参照変数の使用
参照変数は、インスタンス内のメンバー変数とメソッドを参照することによって使用できます.この場合、ポイント演算子を使用してコードを記述します.
名前をstudentNameメンバー変数に保存し、getStudioメソッドを使用します.
studnetAhn.studentName = "안치즈"; 
//멤버변수사용

System.out.println(studentAhn.getStudentName(ㅤ ));
//메서드 사용
ぺこぺこ
次に、インスタンスの作成手順をより詳細に説明します.
インスタンスとバックメモリ
new studentを宣言すると、studentが生成されます.このstudentには、studentID、studentNameなどのメンバー変数があります.これらの変数を格納する空間はhipメモリです.クラスジェネレータを呼び出すと、hipメモリにインスタンスが作成されます.
Student studnetAhn = new Student( );
上記で生成したクラスをstudnetahn変数に代入すると、格納インスタンスのメモリはstudentahn変数によって指向されます.
上記のコードではstudentahn変数は領域変数です.領域変数はスタックメモリに作成され、インスタンスはhipメモリに作成されます.
すなわち、領域変数studentahnで生成されたインスタンスは、studentahnで生成されたhipメモリのアドレスを代入する.
メッセージ
-Student studentAhn = new Studnet( ); 中に2つのStudent(クラス)とstudnetahn(参照変数)がある場合、studnetahn(参照変数)にStudent(クラス)を加えて新しいStudnetを生成し、そのメンバー変数も同様にコピーされ、Studentオブジェクトは複数にコピーされると思います.
そしてstudnetahnstudentName=「安チーズ」;studentahn(参照変数)では、studentのメンバー変数の1つであるstudentNameに「安チーズ」という名前が格納されます.
System.out.println(studentahn.getStudentName)
get()メソッドを使用して保存した名前を取得して出力します.system.out.println( );かっこ内のstudentahn.getStudentNameは「Anchese」を格納するパスですか?住所として覚えておけばよかった.
では、次の2つの例を見てみましょう.
Student student1 = new Student( );
Student student2 = new Student( );
上記の2つの生成されたインスタンスは、それぞれ異なるメモリ領域を占有します.student 1、studentName、student 2、studentNameには異なる値があります.
メッセージ
2両編成の列車を想像してみてください.1号車のスタックメモリルームには、1-1番シート、student 1番シート、1-2番シート、student 2変数が座っています.2番のHip Memory車両に並び、studet 1の弟studentは2-1番席に座り、student 2の弟studentは2-2番席に座った.この二人は同名だが、何の関係もない.
クラスを作成するたびに、インスタンスは異なるメモリ領域を占有します.つまり,毎回メンバ変数を格納するスペースがある.
したがって、クラスに宣言されるメンバー変数も「インスタンス変数」と呼ばれます.
生成者
ジェネレータについて説明しましょう.
ㅤㅤ
-作成者
public class Person {
ㅤString name;
ㅤfloat height;
ㅤfloat weight;
}
-テストジェネレータ
public class PersonTest {
ㅤpublic static void main(String[ ]args) {
ㅤPerson preson = new **Person( );** **//생성자**
ㅤ}
}
上記の例を見てみましょう.
Javaでクラスを作成するときに使用される関数、例えばperson()は、コンストラクション関数と呼ばれます.
クラス内のメンバー変数の値はメソッドによって変更される場合がありますが、クラスを最初に作成するときに値を決定する必要がある場合があります.作成者の作業は、クラスの最初の作成時にメンバー変数または定数を初期化することです.
メッセージ
個人的には初期化すると全て削除されると思いますので、初期化を宣言します.と理解
つまり、作成者はクラスを最初に作成するときにメンバー変数または定数を宣言します.
エラー作成者
ジェネレータはクラスの作成時にのみ呼び出されます.ジェネレータ名はクラス名と同じで、ジェネレータは値を返しません.
ただし、作成者のPersonクラスコードを表示すると、Person()ジェネレータは見つかりません.前に作成したStudioクラスには、他の作成者もいません.
それでもnew student()を使用してオブジェクトを作成できます.どうしてですか.
コンストラクション関数のないクラスクラスクラスクラスクラスファイルをコンパイルすると、Javaコンパイラがコンストラクション関数を自動的に作成します.このように自動的に作成されるジェネレータは、デフォルトコンストラクション関数(default constructor)と呼ばれます.