从另一个类传递方法
我想调用从一个类到另一个类的方法,不知道是否可以在不扩展包含该方法的类的情况下。 我试图导入包,这样我认为该方法应该允许使用,因为它是一个公共方法,但这不是sucesfull ..
试图使用此链接作为参考,但我不明白它(因为是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
其他方式可能是,为其他类创建对象,然后在该对象上调用该方法。 像下面的东西。
new ClassA().yourMethod();
您需要来自类1的对象实例来调用该方法,或者如果它不需要实例 – 您可以将其声明为静态,然后您可以编写1.method()。
在java中你有两种主要方法:
-
Class2 extends Class1
,然后你可以调用class 1的所有protected
或public
方法。 -
在class2中获取class1的实例:
Class1 c1 = new Class1(); c1.someMethod();
如果要在不创建类实例的情况下调用该方法,请将其设置为static
:
Class1 { ... public static void method1() {doSomething;} } Class2 { public class2() { Class1.method1(); //should be fine } }
编辑:如果要在稍有不同的Activities
之间传递数据。 通常你会执行类似startActivityForResult()
然后检索返回值,或者像这样使用Intents
:
如何在Android应用程序中的活动之间传递数据?