Java 在哪里定义变量?
因此,在我的小Java程序中,我在main方法中声明了所有变量,但我希望能够从类中的任何位置修改它们,因此我在类体中声明了它们。现在我不能再在main方法中修改它们了。声明变量的解决方案是静态的吗?如果我这样做,我是否仍然能够从主方法内部更改这些变量Java 在哪里定义变量?,java,variables,Java,Variables,因此,在我的小Java程序中,我在main方法中声明了所有变量,但我希望能够从类中的任何位置修改它们,因此我在类体中声明了它们。现在我不能再在main方法中修改它们了。声明变量的解决方案是静态的吗?如果我这样做,我是否仍然能够从主方法内部更改这些变量 public class MainGUI { int num1= 1366, num2= 528, num3= 482, sum; // declare these static? public static void main(Stri
public class MainGUI
{
int num1= 1366, num2= 528, num3= 482, sum; // declare these static?
public static void main(String args[])
{
sum = num1 + num2+ num3; //compiler tells me "non-static varable cannot be refrenced from a static context"
}
}
为了从java中的静态方法访问非静态变量,必须创建类的实例
或者将实例变量设置为静态,这样您就可以直接访问它们,而无需使用静态方法中的任何实例
public class MainGUI
{
static int num1= 1366, num2= 528, num3= 482, sum; // declare these static?
public static void main(String args[])
{
sum = num1 + num2+ num3;
}
}
但是,按照惯例,静态方法中的静态变量应该使用classname.variablename访问
请参阅此链接,了解如何更好地理解您在类中定义变量。@lightice11欢迎您。请阅读其他人提到的变量访问。感谢您指出:无需在类本身内部调用类名
public class MainGUI
{
static int num1= 1366, num2= 528, num3= 482, sum; // declare these static?
public static void main(String args[])
{
sum = num1 + num2+ num3;
}
}
sum = MainGUI.num1 + MainGUI.num2 + MainGUI.num3;
public class MainGUI
{
static int num1= 1366;
..
..
public static void main(String args[])
{
MainGUI.sum = MainGUI.num1 + MainGUI.num2+ MainGUI.num3;
}
}