回答編集履歴

1

コメントへの対応

2015/11/05 00:19

投稿

moredeep
moredeep

スコア1507

test CHANGED
@@ -4,28 +4,102 @@
4
4
 
5
5
  import java.util.Date;
6
6
 
7
+ import java.text.SimpleDateFormat;
8
+
7
9
 
8
10
 
9
11
  class Test{
10
12
 
11
- private static Date INSTANCE_DATE = null;
12
13
 
13
- public Test(){
14
14
 
15
- if(INSTANCE_DATE == null){
15
+ public static void main(String[] args){
16
16
 
17
- // static変数がnull(初回)であれば現在日時を保持
17
+ for(int i = 1; i <= 10; i++){
18
18
 
19
+ try{
20
+
21
+ Thread.sleep(500);// インスタンス生成のタイミングをずらす
22
+
23
+ } catch(InterruptedException e){
24
+
25
+ //エラーは無視
26
+
27
+ }
28
+
29
+ System.out.println(i + "回目のインスタンス生成");
30
+
19
- INSTANCE_DATE = new Date();
31
+ Test2 tes = new Test2();
32
+
33
+ tes.disp();
20
34
 
21
35
  }
22
-
23
- SimpleDateFormat sdf1 = new SimpleDateFormat("HH:mm:ss");
24
-
25
- System.out.println(sdf1.format(INSTANCE_DATE)); //出力
26
36
 
27
37
  }
28
38
 
29
39
  }
30
40
 
41
+ class Test2{
42
+
43
+ private static Date INSTANCE_DATE = null;
44
+
45
+ public Test2(){
46
+
47
+ if(INSTANCE_DATE == null){
48
+
49
+ // static変数がnull(初回)であれば現在日時を保持
50
+
51
+ INSTANCE_DATE = new Date();
52
+
53
+ }
54
+
55
+ }
56
+
57
+ public void disp(){
58
+
59
+ SimpleDateFormat sdf1 = new SimpleDateFormat("HH:mm:ss");
60
+
61
+ String resStr = getClass().getName() + "のインスタンス生成時刻 ";
62
+
63
+ System.out.println(resStr + sdf1.format(INSTANCE_DATE)); //出力
64
+
65
+ }
66
+
67
+ }
68
+
69
+
70
+
31
71
  ```
72
+
73
+
74
+
75
+ ------------------------------------------------------------------------------------------
76
+
77
+ 追記
78
+
79
+
80
+
81
+ 少しソースを変えました。
82
+
83
+
84
+
85
+ 元々mainを入れてなかったのは要件がわからないからです。
86
+
87
+ (何回インスタンス生成するか?等)
88
+
89
+ 今回は適当に動くものを置いておきましたが、
90
+
91
+ 次回からはもう少し詳しく書いたほうがいいです。
92
+
93
+
94
+
95
+ あと、コメントにあった「プログラム最初にクラス名を入れたいです」の意味が分かりませんでした。
96
+
97
+ プログラムはソースコードの意味ですか?
98
+
99
+ そうであれば自分でコメントを入れてください。
100
+
101
+ プログラムは出力結果の意味ですか?
102
+
103
+ そうであればこのソースで満足でしょうか。
104
+
105
+