回答編集履歴

4

文言修正

2019/12/05 22:07

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -1,4 +1,4 @@
1
- 後から使いたい変数は、ローカル変数ではなくインスタンス変数にしておきます。
1
+ 後から使いたい変数は、ローカル変数ではなくインスタンス変数に保持しておきます。
2
2
 
3
3
  こんな感じでしょうか。
4
4
 

3

説明追加

2019/12/05 22:07

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -1,4 +1,6 @@
1
+ 後から使いたい変数は、ローカル変数ではなくインスタンス変数にしておきます。
2
+
1
- こんな感じでしょうか
3
+ こんな感じでしょうか
2
4
 
3
5
 
4
6
 

2

引数変更

2019/12/05 22:06

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -62,7 +62,7 @@
62
62
 
63
63
  SampleB objB = new SampleB();
64
64
 
65
- objB.methodB("test");
65
+ objB.methodB(str);
66
66
 
67
67
  objB.methodA();
68
68
 

1

サンプルコード追加

2019/12/05 13:32

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -1 +1,81 @@
1
+ こんな感じでしょうか?
2
+
3
+
4
+
5
+ ```java
6
+
7
+ class SampleA {
8
+
9
+ String name;
10
+
11
+ int numA;
12
+
13
+
14
+
15
+ SampleA(String name, int num) {
16
+
17
+ this.name = name;
18
+
19
+ numA = num;
20
+
21
+ }
22
+
23
+
24
+
25
+ void methodA() {
26
+
27
+ System.out.println("called SampleA.methodA, " + name + ", " + numA);
28
+
29
+ }
30
+
31
+ }
32
+
33
+
34
+
35
+ class SampleB {
36
+
37
+ private SampleA objA;
38
+
39
+
40
+
41
+ void methodB(String str) {
42
+
43
+ objA = new SampleA(str, 999);
44
+
45
+ }
46
+
47
+
48
+
49
+ void methodA() {
50
+
51
+ objA.methodA();
52
+
53
+ }
54
+
55
+ }
56
+
57
+
58
+
59
+ public class SampleC {
60
+
61
+ void methodC(String str) {
62
+
63
+ SampleB objB = new SampleB();
64
+
65
+ objB.methodB("test");
66
+
67
+ objB.methodA();
68
+
69
+ }
70
+
71
+
72
+
73
+ public static void main(String[] args) {
74
+
1
- 生成済みインスタンスを、SampleCのインスタンスを呼び出すときの引数として渡せばいいです。
75
+ new SampleC().methodC("test");
76
+
77
+ }
78
+
79
+ }
80
+
81
+ ```