クラスとインスタンス、static、について混乱してるのでコードなどを使って分かりやすく説明していただけないでしょうか。
あるサイトで、クラスとインスタンスについての説明を見ていたのですが、
”追加したgrowOldメソッド内で「非 static フィールド age を static 参照できません」というコンパイルエラーになります。”
という説明で混乱しました。
そもそも、非 static フィールドってなんだろ、
staticクラスはインスタンス(人間なら年齢とか名前とか個人を特定するような情報?)を生成しないクラス??
以下のコードでは年齢も入ってるので非static?
classの下のコードにはstaticが入ってるのでstaticなクラスでは?
など、疑問に感じる部分が多いので、教えていただけないでしょうか?
java
1class Human { 2 static final String classification = "哺乳類"; 3 String name; 4 int age; 5 6 Human(String name, int age) { 7 this.name = name; 8 this.age = age; 9 } 10 11 static void growOld(){ 12 age++; // <- コンパイルエラー 13 } 14 15 /* 中略 */ 16}
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/11 09:39