我想从主类的onCreate方法调用位于子类内的方法。
我试过这样的东西,但由于主类是以某种方式静态的,所以我无法引用非静态子类。 我不想让子类静态!
public class NetworkBroadcast extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Caster.castMac();
}
public class Caster extends Thread {
public void castMac() {}
}
}
答案 0 :(得分:3)
castMac
是Caster
的实例方法,这意味着您需要创建(或以其他方式获取)Caster
的实例才能调用它。或者,您可以将castMac
更改为静态方法。很难说哪个是合适的,因为它目前是无操作的。如果您能提供更多背景信息,我们可以提供更具体的建议。
(作为次要观点,扩展Thread
是一个好主意。相反,实现Runnable
并将其传递给Thread
构造函数。)
答案 1 :(得分:1)
使castMac()方法静态
public static voic castMac() {}
或在调用castMac()
Caster c = new Caster();
c.castMac();