从活动类调用java类

时间:2015-04-03 09:06:52

标签: java android

大家好,我在android中有一个问题 如何从活动类中调用非活动类中的方法? 例如: 我有一个活动类

public class1 extends Activity
{
public void onCreate()
{
         class2.main(null);//this code does not work neither does creating an object 
}

}
//class 2
public class2 {
 public static void main()
 {//code
 }
  }

2 个答案:

答案 0 :(得分:1)

主要方法不期望任何参数,因此不要将 null 传递给方法。请参阅以下代码:

  public Class1 extends Activity { 
        public void onCreate(){

                Class2.main(); // remove null
           }

    }
    ///////////////////////////////////////////////////
    public class Class2 { 
             public static void main() { //code } 
        }

你说它没有创建对象,主要方法是静态的,这意味着它属于而不属于任何对象,这就是为什么你不必创建 Class2 类型的对象。如果您想创建 Class Class2的对象,请使用以下代码:

Class2 class2 = new Class2(); // Creating Object;
class2.main() // calling method here

如果 SomeClass 位于不同的套餐中,则必须将其导入。

作为类名的命名约定,以大写字母开头。

答案 1 :(得分:-1)

确保您的class2class1位于同一个包中,或者您已在活动类文件的顶部输入了正确的导入语句。

完成后,有两种方法可以使用另一个类的方法:

1st:创建class2的实例并在其上调用方法

Class2 class2instance = new Class2();
class2instance.method();

第二:如果你的方法是静态的,你可以直接用类名

来调用它
Class2.staticMethod();

因此,如果您可以编辑非活动类,请尝试使用静态方法,或者创建类的实例,然后在其上调用方法。

此外,在您的代码示例中,class2中定义的主方法不期望任何参数,因此请在方法调用中删除null