Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.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/3/android/232.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 如何将double方法设置为静态方法中的值?_Java_Android_Methods_Static_Double - Fatal编程技术网

Java 如何将double方法设置为静态方法中的值?

Java 如何将double方法设置为静态方法中的值?,java,android,methods,static,double,Java,Android,Methods,Static,Double,我有一个名为getX1()的方法,它从不同的类获取数据: public double getX1(){ double x1 = getIntent().getExtras().getDouble("s_xd2"); return x1; } 我想把它设置为静态方法中的一个值 public static double[] xWerte() { double x1 = getX1(); return new double[] {x1,2.0,3.

我有一个名为
getX1()
的方法,它从不同的类获取数据:

    public double getX1(){
    double x1 = getIntent().getExtras().getDouble("s_xd2");

    return x1;
}
我想把它设置为静态方法中的一个值

    public static double[] xWerte() {
    double x1 = getX1();

    return new double[] {x1,2.0,3.0,4.0,5.0,6.0,7.0};
}
但它不会让我。。。它是如何工作的


它说:不能从静态上下文引用非静态方法“getX1()”

静态方法只能调用静态方法。这是因为静态方法不属于该类的任何特定实例,但非静态方法绑定到该类的每个实例。因此,当您试图从静态方法调用getX1()时,它不知道从哪个类实例调用该方法。要解决这个问题,只需将方程放入static方法,或者将getX1()设为static

它说:不能从静态上下文引用非静态方法“getX1()”

对-这与创建数组或类似的东西无关

问题在于
getX1()
是一个实例方法-它需要对声明类的实例进行操作。您的
xWerte
方法是一个静态方法,因此它自然没有可操作的实例

选项:

  • 使
    xWerte
    也成为一个实例方法
  • xWerte
    一个要使用的类的实例(例如,将其作为参数传入)
  • 使
    getX1
    成为一个静态方法(考虑到
    getIntent
    调用,可能很棘手)

静态方法可以调用实例方法-只是您需要提供一个实例来调用它们。选项1:不能这样做,因为它必须是静态的选项2:不知道它是如何工作的(业余编码)选项3:可能很难:(有没有其他方法可以从另一个使用静态的类获取数据?@Feuer1978:现在是时候停止尝试做复杂的应用程序,学习Java的基础知识了。您的第一条评论表明您对该语言不是很熟悉,这意味着您将很难解决这个问题m、 …因此,您应该花时间正确地学习该语言,在这一点上,您将有望有更好的机会修复它。从根本上说,如果您需要获取基于实例的信息(就像您所做的那样),那么就需要知道相关的实例了。@Feuer:这对于具体问题很好,但你真的应该更系统地学习该语言的基础知识。否则,你将永远无法理解。@Feuer:我给了你的不仅仅是一个提示。我给了你三个选项,并解释了问题所在。如果至少,这还不够,这是一个明确的信号,你应该在基本面上投入更多的时间。