Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取/设置非静态字符串为静态字符串以通过Java_Java_String_Static_Non Static - Fatal编程技术网

获取/设置非静态字符串为静态字符串以通过Java

获取/设置非静态字符串为静态字符串以通过Java,java,string,static,non-static,Java,String,Static,Non Static,第一件事;我理解,从静态方法调用非静态方法是不可能的 Q:我想知道是否可以使用构造函数方法将字符串(非静态)设置为静态,以便可以跨java类静态地传递字符串并传递给JNI: Intent myIntent = new Intent(Intent.ACTION_VIEW); String argument = "iqsrc://"+ arguments.getText().toString(); Uri myUri = Uri.parse(argument); myIntent.

第一件事;我理解,从静态方法调用非静态方法是不可能的

Q:我想知道是否可以使用构造函数方法将字符串(非静态)设置为静态,以便可以跨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
每次非静态字符串更改时,新的静态值也会更改吗

第一件事;我理解从非静态方法调用静态方法是不可能的

首先,您可以从非静态方法调用静态方法。不能从静态方法调用非静态方法

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

static String foo;

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

谢谢你…为阅读障碍感到抱歉。。。这对我来说是个新闻,一个人很难从静态方法调用非静态方法?毕竟,main是一个静态方法,从这里开始。如果像你说的那样,就永远不会调用任何非静态方法。@Ingo我想我们在这里讨论的是语义。如果不调用实例,就不能调用非静态方法,例如
newmyclass().myNonStaticMethod()
,但不仅仅是
myNonStaticMethod()
本身。@Bohemian调用非静态方法,根据定义,当然总是使用接收器,即使当接收器应该是
this
时,您不需要显式地编写它。因此,我们可以说,调用非静态方法基本上只有一种方法。无论如何,说不能从静态方法调用非静态方法是完全错误的。只是你不能使用
这个
,因为没有。