は、だから私はMainWindow
、MenuPanel
、GamePanel
、GameEngine
、Player
のようないくつかのクラスを持っているように...私はもっと使用することを推奨されるべきである、インスタンス対静的について多くを読んだもののJava:インスタンスは静的よりも本当に優れていますか?
私の質問は、 、私のラインの一つは、このようになります応じて: MainWindow.getGamePanel().getPlayer1().getName().toLowerCase().compareTo(...);
またはMainWindow.getGamePanel().getLabels()[0].getIcon();
あなたは、これはすべてのオブジェクトは、異なる特性を持っていないと物事は何のどこ静を使用しないよう努力して良い習慣だと思いますかlabels
またはplayers
とnames
を静的に宣言するのではなく、コードを再利用して読みやすくするのではなく、一般化されていますか?
アイデアは、確かに例えばクラスPlayer
(論理のようなより)にGamePanel
(ビジュアルクラス)オブジェクトを作成するために、厄介なことになるので、私はこれらの長いコードを使用しています。だから、ちょうどMainWindow
(メインクラスではなく、JFrameクラス)の各クラスの1つのオブジェクトのように作成し、それらのすべてに対してstatic getters
を作成しました。
私はあなたが非常に奇妙な方法でコードを構造化しましたように聞こえる...あなたが記述しているものを伝える多くの問題を抱えています。あなたが静的な参照を使ってすべてをやっているように見えますが、あなたはちょうど静的参照ですべてをやっているようです。特定のインスタンスを返すトップレベルの静的メソッドがあります。もっと多くのコードを見なくてもわかりにくいですが、物事を再構成して、長いアクセスチェーンを必要としないと確信しています。 –
'MainWindow.getGamePanel()。getPlayer1()。getName()。toLowerCase()。compareTo(...);'のような行は、インスタンスを使用して_just_ではなく、デザインが悪いために発生する可能性があります。 –