teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

補足追記

2016/03/26 04:25

投稿

Odacchi
Odacchi

スコア907

answer CHANGED
@@ -1,4 +1,6 @@
1
1
  これ、実はメソッドの引数や戻り値の問題ではなく、変数のスコープの問題ですね。
2
+ メソッドの戻り値を受け取るには下記のようにsampleメソッドを書き換える必要があります。
3
+ きちんとメソッドの戻り値を代入してあげる必要があります。
2
4
 
3
5
  ```Java
4
6
  private void sample(){
@@ -12,8 +14,9 @@
12
14
  ```
13
15
 
14
16
 
17
+ また、おそらく混乱されている理由はこちらではないかと思うのですが、
15
- また、incrementメソッド内のnumと、Mainクラスのフィールドの```private int num;``` は別の変数です。
18
+ **incrementメソッド内のローカル変数num**と、**Mainクラスのフィールドの```private int num;```**、**名前は同じですが、全く別の変数**です。
16
- incrementメソッド内でMainクラス内のnumにアクセスするには下記のようにする必要があります。
19
+ incrementメソッド内でMainクラス内のnumにアクセスするには下記のように、this.を付けてあげる必要がありま。(変数の名前が同じため、どちらのnumにアクセスすかを明示する必要があります。
17
20
  変数名が同じため、混乱しやすいですが。
18
21
 
19
22
  ```Java