在java对象和字段的初始化过程中会遇到哪些安全性问题呢?而对于static变量来说,如果static变量被定义为final并且它值是编译时常量值,那么该static变量将会被优先初始化。因为instance在调用StaticFiledOrder构造函数进行初始化的过程中,intValue还没有被初始化,所以它有一个默认的值0,从而导致result的最终值是-10。java标准库中为我们定义了很多非常优秀的类,我们在搭建自己的java程序时候可以很方便的使用。但是我们在写自定义类的情况下,一定要注意避免使用和java标准库中一样的名字。这个应该很好理解,就是为了避免混淆。以免造成不必要的意外。所以,一般来说我们需要在增强的for语句中,将#i设置成为final,从而消除这种不必要的逻辑误会。
暂无评论