Java Int从公共到静态
在你读我的问题之前,先知道我的英语不好Java Int从公共到静态,java,static,public,Java,Static,Public,在你读我的问题之前,先知道我的英语不好 public Name() { ID = 1; loadOptions(); } private void loadOptions { // code if (as[0].equals("ID")) { ID = Integer.parseInt(as[1]); } // more code } static { ID1 = ID; } ID1是0,但我希望它是Integer.parseIn
public Name()
{
ID = 1;
loadOptions();
}
private void loadOptions
{
// code
if (as[0].equals("ID"))
{
ID = Integer.parseInt(as[1]);
}
// more code
}
static
{
ID1 = ID;
}
ID1是0,但我希望它是
Integer.parseInt(如[1])代码>。。。请帮帮我 实现这一点有两种方法:
解析为[1]后,将结果也分配给ID1
将as数组设为静态,并在初始化ID1之前加载它
我想你可能缺乏这门语言的一些基本知识
静态初始化块仅在类第一次被引用时运行
每次实例化类的实例时,构造函数都会运行
我假设ID1是一个静态变量,您试图在静态区域初始化它,该区域在构造函数有机会执行之前运行
仅仅因为代码是按特定顺序编写的,并不意味着它是按该顺序运行的
假设您真的想将ID1设置为任何ID,您必须这样做
public Name()
{
ID = 1;
loadOptions();
ID1 = ID;
}
当然,如果您不构造Name的实例,则在创建实例之前ID1将保持为0请通过重写您的问题来帮助我们。请通过在您的问题中添加相关的语言标记来帮助我们。您可以共享更多代码吗?您是说希望在静态块中使用as[1]中的ID1=值吗?我假设这是一个java问题。但是我仍然不完全理解它-什么是loadoptions参数?那么为什么不能说ID1=Integer.parseInt(as[1])代码>?静态块首先运行,因此在获得值时必须在运行时更改该值。“将as数组设置为静态,并在初始化ID1之前加载它”您能举个例子吗?静态字符串as[]=新字符串[]{“ID”,“42”};