回答編集履歴
2
コード追記
test
CHANGED
@@ -1,3 +1,20 @@
|
|
1
1
|
`name = name` は、引数の`name`に引数の`name`を代入するだけで、何もしないのと同じこと。
|
2
2
|
引数の`name`とインスタンスの`name`が同じ名前で、ローカル変数である`name`が優先されます。
|
3
3
|
名前が違えばどこの変数が使われるか明確になります。
|
4
|
+
|
5
|
+
```java
|
6
|
+
class Dog {
|
7
|
+
String name; // インスタンス変数 name、初期値は null
|
8
|
+
Dog(String n) { // ローカル変数 n
|
9
|
+
name = n; // インスタンス変数 name に ローカル変数 n を代入
|
10
|
+
}
|
11
|
+
}
|
12
|
+
```
|
13
|
+
|
14
|
+
```java
|
15
|
+
class Dog {
|
16
|
+
String name; // インスタンス変数 name、初期値は null
|
17
|
+
Dog(String name) { // ローカル変数 name
|
18
|
+
name = name; // ローカル変数 name に ローカル変数 name を代入、インスタンス変数 name は変化なし
|
19
|
+
}
|
20
|
+
}
|
1
説明追記
test
CHANGED
@@ -1 +1,3 @@
|
|
1
1
|
`name = name` は、引数の`name`に引数の`name`を代入するだけで、何もしないのと同じこと。
|
2
|
+
引数の`name`とインスタンスの`name`が同じ名前で、ローカル変数である`name`が優先されます。
|
3
|
+
名前が違えばどこの変数が使われるか明確になります。
|