有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

安卓中java调用子类方法

我想从主类的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) 个答案

  1. # 1 楼答案

    要么将castMac()方法设为静态

    public static voic castMac() {}
    

    或者在调用castMac()之前创建Caster类的实例

    Caster c = new Caster();
    c.castMac();
    
  2. # 2 楼答案

    castMacCaster的一个实例方法,这意味着您需要创建(或获取)一个Caster实例才能调用它。或者,您可以将castMac更改为静态方法。很难判断哪一个是合适的,因为它目前是不可行的。如果你能提供更多的背景,我们可能会给出更具体的建议

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