2013-12-11 97 views
0

第一件事是第一件事;我明白,从静态方法调用非静态方法是不可能的,详见此处。获取/设置非静态字符串为静态字符串以通过Java

问:我想知道如果我可以设置字符串(非静态)使用构造方法为静态,这样我可以staticly传递字符串跨Java类和到JNI:

Intent myIntent = new Intent(Intent.ACTION_VIEW); 
    String argument = "iqsrc://"+ arguments.getText().toString(); 
    Uri myUri = Uri.parse(argument); 
    myIntent.setData(myUri); 
    startActivity(myIntent); 

String arguments = new argument 
//Used to pass static string to /from java 

并且每当非静态字符串发生变化时,新的静态值也会发生变化?

回答

2

第一件事第一件事;我明白,这是不可能从一个非静态方法首先

第一件事调用静态方法,你可以调用从非静态方法静态方法。您不能从静态方法调用非静态方法。

您可以从一个非静态方法设置一个静态变量,如果这是你的意图:

static String foo; 

void myNonStaticMethod() { 
    foo = "bar"; 
} 
+0

谢谢你......遗憾的阅读障碍。 –

+0

Ähemm...对我来说,一个已经确定无法从静态方法调用非静态方法的消息对我来说是新闻?毕竟,main *是一个静态方法,从这里开始。如果正如你所说,没有任何非静态方法可以被调用。 – Ingo

+0

@Ingo我认为我们在这里谈论语义。你不能调用一个非静态方法*,而不调用一个实例*,例如'new MyClass()。myNonStaticMethod();',而不是'myNonStaticMethod();'。 – Bohemian

相关问题