【发布时间】:2016-12-30 19:39:40
【问题描述】:
假设我有 2 个类似的课程:
Apple.java
public class Apple {
public string getFruitName(){
return "apple";
}
public string getFruitColor(){
return "red";
}
}
Banana.java
public class Apple {
public string getFruitName(){
return "Banana";
}
public string getFruitColor(){
return "yellow";
}
}
在我的应用程序中,我需要一个全局变量,这样我就可以在任何地方动态生成全局范围的香蕉或苹果。 catch 是,我不知道是哪个生成的,可能是苹果,也可能是香蕉。
我在猜测我需要一个超类,可能是 Fruit.java,并实例化一个名为 fruit 的全局变量。当我调用fruit.getFruitName 和fruit.getFruitColor 时,我希望返回一个苹果或香蕉,以随机生成的为准。我只是真的不知道如何给所有这些人一个父类。
我的应用示例
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 中没有全局变量或全局范围。您可以公开内容,但它们将与类或对象相关联。
标签: java android class subclass superclass