在android中调用子类方法

时间:2012-06-22 16:00:44

标签: java android

我想从主类的onCreate方法调用位于子类内的方法。

我试过这样的东西,但由于主类是以某种方式静态的,所以我无法引用非静态子类。 我不想让子类静态!

public class NetworkBroadcast extends Activity {
    public void onCreate(Bundle savedInstanceState)  {
        super.onCreate(savedInstanceState);
        Caster.castMac();
    }

    public class Caster extends Thread {
        public void castMac() {}
    }
}

2 个答案:

答案 0 :(得分:3)

castMacCaster实例方法,这意味着您需要创建(或以其他方式获取)Caster的实例才能调用它。或者,您可以将castMac更改为静态方法。很难说哪个是合适的,因为它目前是无操作的。如果您能提供更多背景信息,我们可以提供更具体的建议。

(作为次要观点,扩展Thread是一个好主意。相反,实现Runnable并将其传递给Thread构造函数。)

答案 1 :(得分:1)

使castMac()方法静态

public static voic castMac() {}

或在调用castMac()

之前创建Caster类的实例
Caster c = new Caster();
c.castMac();