だから私はどのようにして3つのクラスを互いに呼び出すことができるかを理解しようとしています。
これがメインクラスです。
public class TestStudent {
public static void main(String[] args) {
myStudent mystudent_obj = new myStudent();
mystudent_obj.show_grades();
mystudent_obj.change_grades();
mystudent_obj.show_grades();
}
}
これは、上記のクラスで呼び出される 2 番目のクラスです。2 番目のクラスは別の 3 番目のクラスを呼び出し、2 つの関数を使用してそれを操作しようとします。関数show_grades
は 3 番目のクラスの変数を出力するだけで、関数は 3 番目のクラスchange_grade
の変数を変更しようとします。
public class myStudent {
public void show_grades(){
Student student_obj = new Student();
System.out.println(student_obj.studGrade);
System.out.println(student_obj.studID);
}
public void change_grades(){
Student student_obj = new Student();
student_obj.studGrade='V';
student_obj.studID=10;
}
}
これは 3 番目の呼び出しで、2 つの変数しかありません。
public class Student {
public int studID = 0;
public char studGrade = 'F';
}
プログラムを実行すると、エラーなしで実行され、次の出力が得られます。
F
0
F
0
show_grades
ただし、関数が機能し、成績が表示されることはわかりますが、関数change_grades
は成績を変更しません。
最終結果は、次のようになります
F
0
V
10
グレード変更機能は、これらの変数を変更する必要があるため、何が起こっているのでしょうか?