2016-08-05 14 views
-2

こんにちはプロジェクト内の別のパッケージ内の公開オブジェクトにアクセスしようとしています。他のパッケージ内の公開オブジェクトにアクセスしようとしています

属性クラスの 'Character'タイプの 'opponent'オブジェクトにアクセスしようとしています。

public class Engine { 
    public static Character opponent; 
} 

クラスこのクラスは別のパッケージに入っています。

public int opponentAttackDamage() {  
    int attack = opponent.getAttribute().getAttack(); 
} 
+0

相手はEngineクラスに含まれ、Attributeクラスではないように見えます –

+0

あなたは正しい相手がエンジンクラスの静的変数です。他のクラスから静的宣言されているので、同じオブジェクトにまだアクセスすることは可能であると考えました。 – TheDeveloper

+0

したがって、 'opponentAttackDamage()'メソッドはどこに定義されていますか?他のパッケージにあるAttributeクラスの –

答えて

0

相手はエンジンクラスの静的な属性であり、あなたはそれからにアクセスしている方法は、同じクラスにされていない場合、あなたはそれにアクセスするためにEngine.opponentを言及する必要があります。また、Engineクラスが定義されているパッケージをインポートする必要があります。

3

も、あなたはドットで、属性の名前クラス次の名前を使用する必要があり、それが(良いプラクティスとして)宣言されています、同じクラス内のどこから静的属性にアクセスするために:

Engine.opponent.getAttribute().getAttack(); 

相手のオブジェクトは、クラス内のどこかで初期化する必要があることに注意してください(相手=新しい対戦相手() - )。

関連する問題