はのは、私が2と同様のクラスがあるとしましょう開始する:のAndroid/Javaの:スーパークラスを必要とする複数の類似したクラスではなく、必ず
Apple.java
public class Apple {
public string getFruitName(){
return "apple";
}
public string getFruitColor(){
return "red";
}
}
Banana.java
を私のアプリケーションではグローバル変数が必要なので、グローバル変数を動的に生成できますスコープのバナナまたはリンゴはどこにでもあります。 キャッチフレーズはですが、どれが生成されているのか分かりませんし、リンゴやバナナかもしれません。
私はを推測していますスーパークラス(Fruit.java)が必要で、フルーツというグローバル変数をインスタンス化する必要があります。 fruit.getFruitNameとfruit.getFruitColorを呼び出すと、ランダムに生成されたリンゴまたはバナナが返されると予想されます。私はちょうどすべてのこれらの人に親クラスを与える方法を本当に知らない。あなたは、その後できるインタフェース
interface Fruit {
String getFruitName();
String getFruitColor();
}
を使用し、ちょうどリンゴとバナナ
public class Apple implements Fruit {
@Override
public String getFruitName() {
return "apple";
}
@Override
public string getFruitColor() {
return "red";
}
}
の両方のためにそれを実装することができ、私のアプリケーションの
例
public class main extends AppCompatActivity {
Fruit fruit;
...
public void randomFruit() {
fruit = new Fruit();
}
public void sometimeLater() {
if (fruit.getFruitName == "apple"){
//
}
}
}
注:**オブジェクトの等価性をチェックするには '.equals(...)'メソッドを使用し、プリミティブの等価性をチェックするには '=='を使用します。 'if(fruit.getFruitName ==" apple ")'はあなたが思うことをしません。 –
Javaにはグローバル変数やグローバルスコープはありません。パブリックなものを作ることはできますが、クラスやオブジェクトに関連付けられます。 – nasch