タグ

staticに関するVeronic_aのブックマーク (4)

  • Java講座 > 6.2. Singleton

    たった一つのインスタンスしか作らせないようにするパターンです。 普通はインスタンスを沢山作るものですが、場合によってはインスタンスを一つしか作らない、 作らせたくないということもあるでしょう。そのようなときに威力を発揮します。 Java API での使用例 java.lang.Runtime もっとも、一つしか作りたくないのであれば newの呼び出しを1回だけにすればよいと思うかもしれません。 プログラマが注意深く実装すればそれでも可能です。 しかしプログラマ任せにすると、間違ってnewを複数回呼び出してしまうかもしれません。 絶対ではありません。 このパターンを適用すると、 指定したクラスのインスタンスが絶対に1つしか存在しないことを保証することができます。 ■クラス図 ■サンプルソース 実装方法は簡単です。 public class Hoge { /* 唯一のインスタンス。 */ p

  • プログラミングのなぜに答える会(中編) « inoue_se

    前編を書いたのが9月です。月日がたつのは早いものです。今日は中編です。途中まで後編のつもりで書いていましたが、すべて書ききらないので中編になりました。後編はいつになるのやら、という感じですが。 プログラミングのなぜに答える会で、Tさんから「Javaでstaticを使う場合はどう判断しますか?」という質問がありました。以下、Javaのstaticの働き自体は分かっている前提とします。 表面的な回答は簡単です。あるクラスのstaticフィールドやstaticメソッドは、そのクラスのオブジェクト群(インスタンス)で共有したい状態や操作に対して使います。別の説明として、staticフィールドやstaticメソッドはオブジェクトを生成せずに使いたい状態や操作に使います、などが回答になりえます。嘘ではありませんが、この説明だけでは、staticをいつ使うべきかの判断にはなりません。 staticフィー

  • Javaの静的メソッドとインスタンスメソッドの使い分けについて - OKWAVE

    オブジェクトの状態(非スタティックフィールド)や型によって、実行時に動作を変えたい場合は非 static メソッドを使う必要が有ります。 下記の例では、Adding や Multiplication はインスタンスフィールドを持っていませんが、calc オブジェクトの実装型に拠る処理の振分けを行う為、execメソッドは非スタティックである必要が有ります。(ポリモーフィズムの利用) class Sample { public static void main(String[] args) { System.out.println(compute(2, 3, new Adding())); System.out.println(compute(2, 3, new Multiplication())); } static int compute(int a, int b, Calc calc)

    Javaの静的メソッドとインスタンスメソッドの使い分けについて - OKWAVE
  • メソッドをstaticにする、しないの基準は何? - OKWAVE

    私の場合、クラスメソッド(=静的メソッド,staticメソッド)が如何なるものかについては、以下の過去ログにて十二分に理解できたのですが、今回の質問者さんは「Javaをはじめてだいぶ経」っているということもあり、あえて違った観点からの回答を試みます。(というか、他の回答者さんとか、閲覧者さんへのアドバイスでもあるんですけど。) http://oshiete1.goo.ne.jp/kotaeru.php3?q=188680 一般的に、クラスライブラリなどで分からないことがあった時には、よく「APIドキュメント」を利用したりしますよね。(各メソッドの引数の型や例外に、J2SDKのどのバージョンから対応しているのかなど・・。)ただ、こちらの方は、文法事項や概念などがあまり載っていなかったりします。そこで、「クラスメソッドって何?」とか、「何でインタフェースを使うの?」などのような疑問を解決するの

    メソッドをstaticにする、しないの基準は何? - OKWAVE
  • 1