2015-04-03 92 views
-3

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

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 
} 
    } 
+0

你想在主要功能中做什么? – 2015-04-03 09:16:27

+0

为什么你通过'null'?只需调用'class2.main();'它应该可以工作。 – ByteHamster 2015-04-03 09:21:47

+0

在尝试构建本机Android应用程序之前,您确实需要了解Java编程的基础知识。 – Arlind 2015-04-03 09:28:10

回答

1

的主要方法是不期望任何参数,以便不通过给方法。看看下面的代码:

public Class1 extends Activity { 
     public void onCreate(){ 

       Class2.main(); // remove null 
      } 

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

你说,它不创建一个对象,主要方法是静态的,这意味着它属于的类没有任何对象,这就是为什么你不必须创建类别对象。如果你想创建类的对象 Class2中使用下面的代码:

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

如果SomeClass的是在不同的包,你必须导入它。

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

-1

请确保您将class2class1放在同一个包中,或者您已在活动类文件的顶部做出正确的导入声明。

你做了之后,还有使用方法从另一个类两种方式:

1:请Class2中的一个实例,并调用它的方法

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

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

Class2.staticMethod(); 

所以,如果你可以编辑你的非活性类,尝试使你想用静态的,或者创建一个实例的方法然后调用它的方法。

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