【发布时间】:2017-06-16 04:06:51
【问题描述】:
我有两个 java 文件。主要活动包含以下内容:
String randomEvent;
public void randomTrigger(){
int min = 1;
int max = 100;
Random randomTrigger = new Random();
int randomNumber = randomTrigger.nextInt(max - min) + min;
RandomEvent obj = new RandomEvent();
if (randomNumber == 7) {
// What do I put here to call the method randomEvent(); in RandomEvent.java ?
}
}
saveSettings();{
SharedPreferences settings = getSharedPreferences("com.******.******", MODE_PRIVATE);
settings.edit().putString("randomEvent", randomEvent).commit();
}
名为“RandomEvent.java 的第二个活动是 MainActivity 的子类:
package com.******.******;
import android.content.SharedPreferences;
public class RandomEvent extends MainActivity {
public void randomEvent() {
MainActivity obj = new MainActivity();
obj.randomEvent = "You've received a pay raise!";
payRate = payRate * 1.1f;
saveSettings();
}
}
我的问题是,如何正确执行 randomEvent();位于超类 MainActivity 中的 RandomEvent.java 类文件中的方法?
【问题讨论】:
-
如果你已经有 obj 作为 RandomEvent 实例( RandomEvent obj = new RandomEvent(); ),你可以简单地调用 obj.randomEvent();顺便说一句,那个设计不是很清楚。 MainActivity 现在如何成为子类。您可以按照模板方法模式实现类似的东西。
-
对不起,如果我的措辞不清楚。 MainActivity 是 RandomEvent 的超类,它扩展了 MainActivity。
-
如果你必须从父类调用子类方法,那么你需要在父类中声明相同的方法,这是继承的基本概念。
标签: java android android-studio subclass