以下のコーでで分からない所があります。
java
1public class Hero1 { 2 3 String name; 4 5 int hp; 6 7 public boolean equals(Object o) { 8 9 //同じアドレスを参照していないからfalse? 10 if (this == o) {return true; } 11 12 if (o instanceof Hero1) { 13 14 Hero1 h = (Hero1)o; 15 16 if ( this.name.equals(h.name)) { 17 18 return true; 19 } 20 } 21 22 return false; 23 } 24}
java
1public class Main3 { 2 3 public static void main(String[] args) { 4 5 Hero1 h1 = new Hero1(); 6 7 h1.name = "ミナト"; 8 9 h1.hp = 100; 10 11 Hero1 h2 = new Hero1(); 12 13 h2.name ="ミナト"; 14 15 h2.hp = 100; 16 17 if (h1.equals(h2) == true) { 18 19 System.out.println("同じ内容です"); 20 } else { 21 22 System.out.println("違う内容です"); 23 } 24 25 26 } 27}
上記の「Hero1.java」の、「if(this == o) {return true};」←ここの「this」は何を指しているのでしょうか...?
javaを勉強している際、「this.フィールド名」「this.メソッド名」で自分のクラスのフィールドやメソッドにアクセスできるということは、分かったのですが、「this」の後に何も指定していない場合については分からなかった為、質問させていただきました。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。