GraphicsProgram で画面の幅と高さを使用してボックスを描画するコードを作成し、そこで他のことを行いました。これらのボックスは、画面の縦サイズ (高さ) の 1/6 になります。
私が今持っている方法は、実行メソッドで次のような変数を作成することです。
int boxHeight = getHeight() / 6;
次に、次のような他の方法に移動します。
placeBox(boxHeight);
私の placeBox メソッドでは、次のように変数を取得します。
private void placeBox(int boxHeight) { ..code.. }
それはすべて機能しますが、代わりに定数を使用できるかどうか疑問に思っていました。これは、次のように run メソッドの前に宣言します。
private static final int constantBoxHeight = getHeight() / 6;
ただし、これにより次のコンパイラエラーが発生します。
non-static method getHeight() cannot be referenced from a static context
だから私の質問:定数を正しい方法で実装していますか? そうでない場合、どうすれば正しく実装できますか? また、私がやろうとしていることが可能である場合、変数を実行メソッドからその中のメソッドに移動してから、その中の他のメソッドに移動する代わりに、定数を使用する利点は何ですか?
getHeight() は acm.graphics.* からインポートされます