我试图在类的main方法之外使用if语句,但我想在main方法中声明所有变量,我该怎么做
public class Main
{
public static void main(String[] args)
{
int i = 0;
int t = 0;
int st = 0;
int h = 0;
Texts textObject = new Texts();
textObject.TextList();
Commands commandObject = new Commands();
commandObject.commands();
GUImain guiObject = new GUImain();
guiObject.displayGUI();
}
public Main()
{
if(t == 0)
{
}
}
}
答案 0 :(得分:4)
简短的回答是你几乎肯定不应该这样做。
但如果您真的想要,那么您可以将变量声明为static
。如果你移动这个
int i = 0;
int t = 0;
int st = 0;
int h = 0;
开始,在class
声明之后,并更改为
static int i = 0;
static int t = 0;
static int st = 0;
static int h = 0;
然后你会发现你可以作为全局变量访问它们,至少从这个包里面。如果你宣布他们为public
,你也可以从任何地方告诉他们。
但是,实际上,你根本不应该这样做。让您的public static void main()
方法创建类的实例(Main m = new Main()
),然后在m
上调用一些实例方法。该实例方法将能够访问非静态(实例)字段。
每当您觉得需要全球化时,请问自己是否表明您的代码没有以正确的方式构建。大多数时候(并非总是如此)当你认为自己想要一个全球化时,你并不是真的。这只会使结构问题变得更糟。