回答編集履歴

3

追記

2024/06/17 03:37

投稿

jimbe
jimbe

スコア13066

test CHANGED
@@ -12,7 +12,7 @@
12
12
  ```
13
13
  と出来ます。
14
14
 
15
- 試しに普通の java アプリケーションとして同じ形を作ってみます。
15
+ 試しに普通の java アプリケーションとして同じ形を作ってみます。(@RequiredArgsConstructor を使わないため Component1 にコンストラクタを追加しています。)
16
16
  ```java
17
17
  public class Main {
18
18
  public static void main(String[] args) throws Exception {

2

追加

2024/06/17 03:36

投稿

jimbe
jimbe

スコア13066

test CHANGED
@@ -11,3 +11,38 @@
11
11
  component1.hoge();
12
12
  ```
13
13
  と出来ます。
14
+
15
+ 試しに普通の java アプリケーションとして同じ形を作ってみます。
16
+ ```java
17
+ public class Main {
18
+ public static void main(String[] args) throws Exception {
19
+ Service1 s = new Service1();
20
+ Component1 c = new Component1(s);
21
+ c.component1();
22
+ }
23
+ }
24
+
25
+ class Component1 {
26
+ private final Service1 service1;
27
+ Component1(Service1 service1) {
28
+ this.service1 = service1;
29
+ }
30
+ public void component1() {
31
+ service1.main(this);
32
+ }
33
+
34
+ public void hoge() {
35
+ System.out.println("test");
36
+ }
37
+ }
38
+
39
+ class Service1 {
40
+ public void main(Component1 component1) {
41
+ component1.hoge();
42
+ }
43
+ }
44
+ ```
45
+ 実行結果 (paiza.io)
46
+ ```
47
+ test
48
+ ```

1

引数名変更

2024/06/17 03:31

投稿

jimbe
jimbe

スコア13066

test CHANGED
@@ -4,10 +4,10 @@
4
4
  ```
5
5
  と自分を渡すようにし、 Service1 クラスの main メソッドの定義を
6
6
  ```
7
- public void main(Component1 comp1) {
7
+ public void main(Component1 component1) {
8
8
  ```
9
9
  とすれば、 main メソッド内で
10
10
  ```
11
- comp1.hoge();
11
+ component1.hoge();
12
12
  ```
13
13
  と出来ます。