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