一个可能导致错误的小bug

现有类A

```java

public class A {

static String a1 = "a1";

static String a2 = B.b2;

}

```

再有类B

```java

public class B {

static String b1=A.a1;

static String b2="b2";

}

```

类A和类B交叉使用对方的静态变量的值,给自己的静态变量赋值,会出现什么情况?

其实很简单,static String b1=A.a1;导致A比类B先加载,从而使得类A中a2得不到正确的值,为null。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Advanced Language Features 知识点:一. static修饰符 static修饰符可以用来...
    风景凉阅读 3,237评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,323评论 19 139
  • 小编费力收集:给你想要的面试集合 1.C++或Java中的异常处理机制的简单原理和应用。 当JAVA程序违反了JA...
    八爷君阅读 10,148评论 1 114
  • 永远也没有永远 就像 太阳不可能从西边升起 每一次短暂的欢愉 都让人忘乎所以 人们渴望夜里的昙花 刹那的美丽 其实...
    奥巴马的老婆阅读 1,287评论 0 1
  • 对这个主题,我有一次深刻的印象;而今回忆起来心底有份温暖和感动,还是感触很深的。 老话说的,一个人说的再多,不如直...
    凤凰仙女阅读 2,695评论 0 2