2017-11-22 6 views
-3

パラメータのないクラスのオブジェクトを作成しましたが、プログラムのある時点で、そのコンストラクタにパラメータを渡したいと思います。javaのコンストラクタ

私は何をしなければなりませんか?

私のクラスは3つのレベルまたは継承を持っているので、私は 'super()'を使ってベースクラスに値を渡します。

public void main(String args[]) 
{ 
    Obj obj1 = new Obj(); 

    // Some more code 
    // After the code i want to pass value to constructor of Obj class 
    // So the Constructor of obj class will pass value to the upperclass(parent class) 

    /* What should I write here? */ 
} 

ありがとうございます。

+3

私はあなたがこれをどこに行くのか不明です。オブジェクトをインスタンス化すると、**コンストラクタは**と呼ばれているので、再呼び出しを試みるのは意味をなさない。 – Makoto

+0

あなたはしません。コンストラクタは、既存のオブジェクトを変更するのではなく、新しいオブジェクトを構築するために使用されます。 – Michael

+0

これもわかりません。 ctorに、後で利用できないパラメータが必要な場合は、後でオブジェクトを構築してください。 –

答えて

1

事実の後にコンストラクタを呼び出すことはできません。インスタンスはと一度だけ構築されます。

インスタンスに必要なものを渡すには、別の方法(文字通り)を見つける必要があります。たぶんあなたのコンストラクタと同じパラメータを取る新しいメソッドを書いてください。

+0

しかし、私はクラスのメソッドを作成する場合....どのように私は上位クラスのコンストラクタを呼び出すことができます –

+1

@AsiBakaすることはできません。構築は* once *です。構築後にベース/スーパークラスでその値を設定できない場合、あなたが望むものは不可能です。正当な理由が考えられます。 – nvoigt

+0

ありがとうございます。 –

関連する問題