如何在Java中定义全局变量?
当前回答
你最好使用依赖注入:
public class Globals {
public int a;
public int b;
}
public class UsesGlobals {
private final Globals globals;
public UsesGlobals(Globals globals) {
this.globals = globals;
}
}
其他回答
除了常量,没有什么是全局的。
public class MyMainClass {
public final static boolean DEBUGMODE=true;
}
把它放在你的主类中。在其他。java文件中,通过以下方式使用它:
if(MyMainClass.DEBUGMODE) System.out.println("Some debugging info");
确保当你把你的代码从剪辑室移出并发布时,你删除或注释掉了这个功能。
如果你有一个常用的方法,比如随机发生器,我建议你创建一个“工具箱”包!所有编码员都应该有一个,然后当你想在.java中使用它时,只需导入它!
非常简单:
class UseOfGlobal
{
private static int a;
private static int b;
}
但是在方法块中尽可能地定义局部变量总是好的。
实际上,在java OO程序中没有“GLOBAL”的概念
尽管如此,你的问题背后还是有一定道理的,因为在某些情况下,你想在程序的任何部分运行一个方法。 例如——random()方法在Phrase-O-Matic应用程序;它是一个方法应该可以从程序的任何地方调用。
为了满足上面提到的"我们需要类全局变量和方法"
将一个变量声明为全局变量。
1.Mark the variable as public static final While declaring.
将一个方法声明为全局方法。
1. Mark the method as public static While declaring.
因为我将全局变量和方法声明为静态的,你可以在任何地方调用它们,只需借助下面的代码
ClassName。X
注意:根据需求,X可以是方法名或变量名,ClassName是你声明它们的类名。
从概念上讲,全局变量又称实例变量,是类级变量,即类级变量。,它们定义在类内部,但在方法之外。为了使它们完全可用,并直接使用它们,提供静态关键字。 因此,如果我正在编写一个简单的算术运算程序,它需要一个数字对,然后两个实例变量定义如下:
public class Add {
static int a;
static int b;
static int c;
public static void main(String arg[]) {
c=sum();
System.out.println("Sum is: "+c);
}
static int sum() {
a=20;
b=30;
return a+b;
}
}
Output: Sum is: 50
此外,在实例变量之前使用static关键字使我们不必反复为相同的变量指定数据类型。直接写出变量即可。
创建一个独立的文件。java使用第一个解决方案,就可以了。你也可以在应用程序中这样做,例如,全局变量对你当前的应用程序是特殊的,等等:
在开头创建一个类,并在其中声明你的变量:
class Globals {
static int month_number;
static String month_name;
}
然后你可以访问这些变量——使用它们作为“全局变量”。Month_number ',等等——从你的应用程序的任何地方。
推荐文章
- 在流中使用Java 8 foreach循环移动到下一项
- 访问限制:'Application'类型不是API(必需库rt.jar的限制)
- 用Java计算两个日期之间的天数
- 如何配置slf4j-simple
- 在Jar文件中运行类
- 带参数的可运行?
- 我如何得到一个字符串的前n个字符而不检查大小或出界?
- 我可以在Java中设置enum起始值吗?
- Java中的回调函数
- c#和Java中的泛型有什么不同?和模板在c++ ?
- 在Java中,流相对于循环的优势是什么?
- Jersey在未找到InjectionManagerFactory时停止工作
- 在Java流是peek真的只是调试?
- Recyclerview不调用onCreateViewHolder
- 将JSON字符串转换为HashMap