-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathSolution.java
More file actions
100 lines (67 loc) · 3.43 KB
/
Solution.java
File metadata and controls
100 lines (67 loc) · 3.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
//Now we know that you know all things, and don't need for anyone to question you. By this we believe that you came forth from God. (John 16:30)
------------------------------------------------------Solution.java------------------------------------------------------------------
package com.javarush.task.task17.task1707;
/*
МВФ
*/
public class Solution {
public static void main(String[] args) {
IMF fund = IMF.getFund();
IMF anotherFund = IMF.getFund();
System.out.println(fund == anotherFund );
}
}
-------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------IMF.java--------------------------------------------------------------------
package com.javarush.task.task17.task1707;
public class IMF {
private static IMF imf;
public static IMF getFund() {
synchronized(IMF.class) { //add your code here - добавь код тут
if (imf == null) {imf = new IMF();}
return imf;
}
}
private IMF() {
}
}
-------------------------------------------------------------------------------------------------------------------------------------
/*
МВФ
Singleton паттерн — синхронизация в методе.
Класс IMF — это Международный Валютный Фонд.
Внутри метода getFund создайте синхронизированный блок.
Внутри синхронизированного блока инициализируйте поле imf так, чтобы метод getFund всегда возвращал один и тот же объект.
Требования:
1. Класс IMF должен содержать приватное статическое поле IMF imf.
2. Класс IMF должен содержать приватный конструктор.
3. Класс IMF должен содержать публичный статический метод IMF getFund().
4. Метод getFund() должен содержать синхронизированный блок.
5. Внутри синхронизированного блока должно быть проинициализировано поле imf.
6. Метод getFund() должен всегда возвращать один и тот же объект.
------------------------------------------------------Solution.java------------------------------------------------------------------
package com.javarush.task.task17.task1707;
/*
МВФ
*/
public class Solution {
public static void main(String[] args) {
IMF fund = IMF.getFund();
IMF anotherFund = IMF.getFund();
System.out.println(fund == anotherFund );
}
}
-------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------IMF.java--------------------------------------------------------------------
package com.javarush.task.task17.task1707;
public class IMF {
private static IMF imf;
public static IMF getFund() {
//add your code here - добавь код тут
return imf;
}
private IMF() {
}
}
-------------------------------------------------------------------------------------------------------------------------------------
*/