为什么在Java中会出现这种编译错误?

为什么在Java中会出现这种编译错误?,java,Java,在java中,为什么编译器不允许使用以下代码 public class Test { public static void main(String[] args) { int x; int x = 4;// the error is generated here } } 您已经声明了两个int变量;两者都命名为x。这是不允许的 尝试: 因为第二个 int x = 4; 正在尝试创建类型为int的变量名“x”,但此变量已存在(在前一行中创

在java中,为什么编译器不允许使用以下代码

public class Test {

    public static void main(String[] args) {

        int x;
        int x = 4;// the error is generated here

    }

}

您已经声明了两个
int
变量;两者都命名为
x
。这是不允许的

尝试:

因为第二个

int x = 4;
正在尝试创建类型为int的变量名“x”,但此变量已存在(在前一行中创建)

您可能希望执行以下操作:

int x;
x = 4;
(第二行中不使用int)

将值4指定给x

或者更好:

int x = 4;

这将创建int类型的变量x并赋值为4

嘿,我会把它们带到我能得到它们的地方:)我投了赞成票,但仍然希望看到关于重新定义变量的解释…也许还有超级代表点的编译器错误描述我们在这种情况下不需要它,但下次也要粘贴编译器错误
int x = 4;