首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Java中的static final与final,空缺final的相关知识

2012-10-09 
Java中的static final与final,空白final的相关知识空白final:这个空白fianl指的是在定义域的时候可以不用

Java中的static final与final,空白final的相关知识

空白final:

这个空白fianl指的是在定义域的时候可以不用指定它的初始值,但是在实例在域所在的类的时候必须进行final变量的初始化.

?

static final 与final的区别:

Java代码??Java中的static final与final,空缺final的相关知识
  1. import?java.util.Random;??
  2. ??
  3. //这个例子想说明一下static?final?与?final的区别??
  4. public?class?StaticAndFinalTest?{??
  5. ??????
  6. ????private?static?Random?rand?=?new?Random(47);?//47作为随机种子,为的就是产生随机数。??
  7. ??????
  8. ????private?final?int?a?=?rand.nextInt(20);??
  9. ??????
  10. ????private?static?final?int?B?=?rand.nextInt(20);??
  11. ??
  12. ????public?static?void?main(String[]?args)?{??
  13. ????????StaticAndFinalTest?sf?=?new?StaticAndFinalTest();??
  14. ????????System.out.println("sf?:?"?+?"a="?+?sf.a);??
  15. ????????System.out.println("sf?:?"?+?"B="?+?sf.B);??
  16. ????????System.out.println("------------------------------");??
  17. ????????StaticAndFinalTest?sf1?=?new?StaticAndFinalTest();??
  18. ????????System.out.println("sf1?:?"?+?"a="?+?sf1.a);??
  19. ????????System.out.println("sf1?:?"?+?"B="?+?sf1.B);??
  20. ????}??
  21. ??
  22. } ?
代码是从http://advance0683.iteye.com/blog/1107732上拷贝的.

运行结果:

Java代码??Java中的static final与final,空缺final的相关知识
  1. sf?:?a=15??
  2. sf?:?B=18??
  3. --------------??
  4. sf1?:?a=13??
  5. sf1?:?B=18??

?可以看到,在sf和sf1对象中,a的值不是唯一的,但B的值是不会通过创建sf1对象而改变。这是因为它是static,在装载时已被初始化,而不是每次创建新对象时都初始化。

<!--EndFragment--><!--EndFragment-->

热点排行