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

質問編集履歴

3

結論

2017/01/11 12:20

投稿

hanayamaKaoru
hanayamaKaoru

スコア36

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,17 @@
1
1
  ###前提・実現したいこと
2
2
  javaのようにユーティリティクラスを書くには?
3
3
 
4
+ ###結論
5
+ object(Singleton)であれcompanion objectであれ参照が渡されるだけでインスタンス化はされない。
6
+ そのため、インスタンス化を避けたいのであれば単純にobjectを利用すればよい
4
7
 
8
+ 新たに名前をつけ参照を保存することを回避したいのであれば
9
+ 名前空間に直接に関数や定数を定義すれば良い
10
+
11
+ kotlinを使い始めてsingletonがなぜ「object」なのかと不思議には思っていましたが
12
+ ユーザがアクセスする時点でメモリ領域に確保(インスタンス化)されており、「実体のある物体」だからだとわかった
13
+
14
+
5
15
  ###該当のソースコード
6
16
  ```kotlin
7
17
  fun main(args : Array<String>){

2

singletonについて

2017/01/11 12:20

投稿

hanayamaKaoru
hanayamaKaoru

スコア36

title CHANGED
File without changes
body CHANGED
@@ -26,6 +26,24 @@
26
26
  val AVOGADROS_NUMBER = 6.022
27
27
  }
28
28
  }
29
+
30
+ //singleton
31
+ object PhysicalConstants{
32
+ /../
33
+
34
+ //objectなのでコンクラスタは定義できない
35
+ //そのため上記と同様、インスタンス化は防げない
36
+ }
37
+ //としてシングルトンを作成できることは知っていまいすが
38
+ //「シングル」のインスタンスさえ作成させたくない
39
+
40
+ //javaならばこのようなユーティリティクラスの実現
41
+ public Util{
42
+ private Util(){}
43
+
44
+ public static int utilMethod(){/../}
45
+ }
46
+
29
47
  ```
30
48
 
31
49
  ###補足情報(言語/FW/ツール等のバージョンなど)

1

誤字

2017/01/10 15:42

投稿

hanayamaKaoru
hanayamaKaoru

スコア36

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,5 @@
1
1
  ###前提・実現したいこと
2
- javaのようにユーティリティメソッドを書くには?
2
+ javaのようにユーティリティクラスを書くには?
3
3
 
4
4
 
5
5
  ###該当のソースコード