java - 我可以更改 Java 中变量的声明类型吗?

标签 java

问:我可以更改 Java 中变量的声明类型吗?

例如,

public class Tmp{
  public static void main(String[] args) {
    String s = "Foo";
    s = null; //same Error results whether this line included or not
    int s = 3;
    System.out.println(s);
  }
}

但尝试编译导致消息:

Error: variable s is already defined in method main(java.lang.String[])

奇怪的是,重新声明变量的类型在交互式 DrJava session 中工作得很好:

> String s = "Foo"
> int s = 1
> s
1

这是怎么回事?

最佳答案

Can I change the declaration type for a variable in Java?

不,编译器知道 s 已经存在于相同的范围内并且被声明为 String 类型。

我以前从未使用过 DrJava,但作为交互式解释器,它可能能够取消第一个变量的作用域并将其替换为在新语句中声明的变量。

关于java - 我可以更改 Java 中变量的声明类型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27092245/

相关文章:

java - 需要 HTTP 连接解释

java - 标准:如何让没有 parent 的 child

java - 定义多维数组

java - 让java中的扫描仪正确关闭的问题

java - 如何将 ArrayList 计数写入 LogCat?

java - 在 Apache Tomcat 服务器中启动时出错

java - 如何在考虑长度 > 1 的字符时比较字符串的每个字符?

java - 使用 twitter4j 和 java 获取所有用户时间线推文

java - 在 Octave 中导入 Java 类

java - 将 Java 方法 Base64.encodeToString() 转换为 PHP