インスタンスの理解が完全ではない為、以下のコードがなぜエラーにならないのかわかりません。
Java
1public class App { 2 public static void main(String[] args) { 3 for(int i = 0; i < 10; i++){ 4 Student st = new Student();//この部分 5 st.studentID = 1000+i; 6 System.out.println(st.studentID); 7 } 8 System.out.println(Student.totalNum); 9 } 10} 11
java
1class Student { 2 public int studentID; 3 public static int totalNum; 4 public Student(){ 5 totalNum++; 6 } 7}
for文の中で10回、Studentクラスのインスタンスが作成され、10回宣言されたstに代入されていますが、単純に
java
1Student st = new Student(); 2Student st = new Student();
のように続けて書くとエラーになります。
同じ変数名で複数宣言できないからだと認識していますが、だとすればなぜ、for文内で同じ変数名で複数回宣言されているにもかかわらずエラーにならないのでしょうか?
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/14 17:49