从另一个类传递方法

时间:2012-08-06 14:45:51

标签: java android

我想调用从一个类到另一个类的方法,如果不扩展包含该方法的类,则不知道是否可能。我试图导入包,这样我认为该方法应该允许使用,因为它是一个公共方法,但这不是太多了..

尝试使用此link作为参考,但我不理解它(因为它是Android的应用程序..)

一个伪代码来举例说明

class 1
class 2

class 2:

import package.class 1;


class 1.this.method();  -> Error: No enclosing instance of the type class 1 in is acessible in scope

4 个答案:

答案 0 :(得分:2)

其他方式可能是,为其他类创建对象,然后在该对象上调用该方法。像下面的东西。

new ClassA().yourMethod();

答案 1 :(得分:0)

您需要来自类1的对象实例来调用该方法,或者如果它不需要实例 - 您可以将其声明为静态,然后您可以编写1.method()。

答案 2 :(得分:0)

在java中你有两种主要方法:

  1. Class2 extends Class1然后您可以调用第1类的所有protectedpublic方法。
  2. 在class2中获取class1的实例:

    Class1 c1 = new Class1();
    c1.someMethod();
    

答案 3 :(得分:0)

如果要在不创建类实例的情况下调用该方法,请将其设为static

Class1
{
...
    public static void method1() {doSomething;}
}

Class2
{
    public class2()
    {
        Class1.method1(); //should be fine
    }
}

编辑:如果您想在稍微不同的Activities之间传递数据。通常,您执行类似startActivityForResult()的操作,然后检索返回值,或使用Intents,如下所示:

How do I pass data between Activities in Android application?