2017-06-13 6 views
-2

私は、立方体の3つの次元を格納する一般的なCuboidクラスを作成するよう求められています。長さ、幅、高さを設定して取得するメソッドを追加する必要があります。次に、次元のすべてを返すメソッドpublic String toString()を追加します。Eclipseで汎用Cuboidクラスを作成するにはどうすればよいですか?

Eclipseで自分のクラスを作成しました。

public class CuboidDimensions <T> { 


} 

私はこの課題について2つの質問があります。

1)Cuboidジェネリッククラスにpublic static void main(String [] args)が必要ですか?なぜ、なぜそうではないのですか? (私は実際にこれを理解していません)

2)上記の3つのディメンションを設定して取得する方法をどのように記述しますか?

私はまだJavaの期間を理解するのに苦労しています。私はEclipseの巨大なファンではない。私はNetbeansを好むが、自分のクラスにEclipseを使わなければならない。

+0

ジェネリックなCuboidクラスを作成するように求められるので、Javaジェネリックではなく継承を処理する必要があると思います。 – drgPP

+0

1)あなたのクラスはオブジェクトを表現するので、「メイン」メソッドは必要ありません。 Cuboidクラスでいくつかのテストを行うために、このメソッドを使って特定のクラスを作成することができます 2)Ecliseでは、=> source => getterとsettersを右クリックすることができます – SebVb

+0

Eclipseは単なるIDEです。あなたが書いているコードとは何の関係もありません。同じことをメモ帳に書いて、JDKのコンパイラインクルードを使ってコマンドラインでコンパイルすることもできます。 – Michael

答えて

0

1) 'CuboidDimensions'クラスは、プログラムを実行するために使用するクラスであれば 'main(String [] args)'メソッドが必要です。 'main()'メソッドは、Javaプログラムの実行場所であり、プログラムのロード時に使用されるすべてのオブジェクトを呼び出し/作成するメソッドです。アプリケーションが別のクラス(他のクラスの1つに 'main()'メソッドを持っている)から実行されている場合、 'CuboidDimensions'クラスは 'main()'メソッドを必要としません。

2)あなたの設定方法は以下のようなものを書かされます:あなたのgetメソッドのようなものを書かされます)

public void setLength(float length){ 
    this.length = length; //or whatever- you probably actually want to assign it to some user input taken from the keyboard? 
} 

3:

public float getLength(){ 
    return length; 
} 

あなたは、あなたの中で宣言されたグローバル変数を明らかに必要となりますこのようにするために各次元のクラスを作成します。

+0

あなたの設定方法は混乱しています。クラスのどのフィールドにも割り当てていません。引数が渡されても何も無視しています。私は 'public void setLength(float length){this.length = length;}のように見えます。 } ' – Michael

+0

あなたは、長さが変わった変数 - 回答が更新されました。しかし、私は答えの最後の文で、これを行うためにクラス内で宣言されたグローバル変数が必要であると述べました。 OPはクラスの実装を示していないので、宣言された変数はわかりません。 – someone2088

+0

Javaにはグローバル変数はありません。あなたはフィールドを意味します。フィールドが存在していても、パラメータが[フィールドをシャドーイングする](https://en.wikipedia.org/wiki/Variable_shadowing)なので、設定されたメソッドは機能しませんでした。しかし、今はすべて良いです:) – Michael

0

Eclipseは、自分で設定して取得する方法を書いています。ちょうどソースに行く - GettersとSetterを生成する

+0

ありがとう!これは多くの助けになりました! –

関連する問題