首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当我设置布尔值: true时,为什么要得到默认的false?

当我设置布尔值: true时,为什么要得到默认的false?
EN

Stack Overflow用户
提问于 2013-01-07 12:51:55
回答 4查看 75关注 0票数 3

假设有三个类,名为Tester_1Tester_2Tester_3。它们的定义是:

Tester_1:

代码语言:javascript
运行
复制
class Tester_1 {

 public static void main(String args[]) {
    Tester_2.setBoolean(true);
    System.out.println(Tester_2.getBoolean());
 }
}

Tester_2:

代码语言:javascript
运行
复制
class Tester_2 {

public static boolean var = false; // Static var

public static void setBoolean(boolean value) {
   var = value;
}

public static boolean getBoolean() {
    return var;
}

}

Tester_3:

代码语言:javascript
运行
复制
class Tester_3 {
public static void main(String args[]) {
    System.out.println(Tester_2.getBoolean());
}
}

在编译完这三个类之后,我按照以下顺序运行它们:

代码语言:javascript
运行
复制
java Tester_1

java Tester_3

但是我得到了这个输出:

在第一次运行时为true,从第二次运行时为false。那是为什么?当Tester_1将布尔值设置为true值时,为什么在运行Tester_3时获得默认的false

EN

Stack Overflow用户

发布于 2013-01-07 12:56:35

两次单独的处决

JVM使它变得更有趣,因为它为每次执行删除了以前的数据。

票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14196347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档