[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends:00664] Re: Java の初期化



田中です。
コンストラクタと初期化の件ですが、コンストラクタとは関数の実装に対して複数の
インターフェースを実現するためのもので、その複数のインターフェースを実現する
際に渡されなかったパラメータなどに初期化が発生する、と私は理解しています。

class Test {

   public TestFunc() {  'ここがコンストラクタ

      TestFunc(' ', 0);

   }

   public TestFunc(String name) {  'ここがコンストラクタ

      TestFunc(name, 0);

   }
   public TestFunc(long old) {  'ここがコンストラクタ

      TestFunc(' ', old);

   }

   private function TestFunc(String name, long old) { '関数の実装です

        ここに実際の処理を記述

   }
以上のような記述で同一の関数に対して複数の呼び出しを実現するのがコンストラク
タの役割りで、渡されなかったパラメータの値を初期化して関数の実装を呼び出すも
の、だと思うのですが。
----- Original Message -----
From: "新井 教郎" <xnoric@xxxxxxxxxxx>
To: <jfriends@xxxxxxxxxxxxxxxxxxxx>
Sent: Friday, August 16, 2002 10:34 AM
Subject: [jfriends:00661] Java の初期化


>
> 新井です。
> ちょっとした疑問なのですが
> ある仕事で、クラス変数の期化をメソッドを呼んで
> やっていたのですが、私はコンストラクタ
> で行うのが正しいのかな?と思っていましたが、
> 「何でここで初期化しちゃいけないの?」
> という質問に困ってしまいました。
> 例ソース
> class Hoge{
>  int i = getIntValue();
>  public int getIntValue(){
>   return 3;
>  }
> }
> 皆さんはどうお考えですか?考えを聞かせてください。
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! BB is Broadband by Yahoo!
> http://bb.yahoo.co.jp/
>
>
> ------------------------------------------------------------------------
>       ★あなたのホームページに“最新ニュース”をお届け!!      
>          http://ap.infoseek.co.jp/ticker2.html   
>



------------------------------------------------------------------------
      ★あなたのホームページに“最新ニュース”をお届け!!      
         http://ap.infoseek.co.jp/ticker2.html