Java 类成员初始化(摘自《java编程思想》)
2013-11-18 09:58
183 查看
java尽力保证:所有变量在使用前得到恰当的初始化。对于方法的局部变量,Java以编译时错误的形式来贯彻这种保证。如程序:
就会得到一条出错的消息,告诉你i可能尚未初始化。当然,编译器也可以为i赋一个默认值,但是未初始化的局部变量更有可能是程序员的疏忽,所以采用默认值反而会掩盖这种错误。因此强制程序员提供一个初始值,往往能够帮助找到程序里的缺陷。
要是类的属性石基本类型,情况就会变得有些不同。正如在“一切都是对象”一章中所看到的,类的每个基本类型属性都会保证有一个初始值。如下程序:
在类里定义一个对象引用时,如果不将其初始化,此引用会获得一个特殊值null。
就会得到一条出错的消息,告诉你i可能尚未初始化。当然,编译器也可以为i赋一个默认值,但是未初始化的局部变量更有可能是程序员的疏忽,所以采用默认值反而会掩盖这种错误。因此强制程序员提供一个初始值,往往能够帮助找到程序里的缺陷。
要是类的属性石基本类型,情况就会变得有些不同。正如在“一切都是对象”一章中所看到的,类的每个基本类型属性都会保证有一个初始值。如下程序:
在类里定义一个对象引用时,如果不将其初始化,此引用会获得一个特殊值null。
相关文章推荐
- 图片验证码工具类(struts中的运用)
- java调试一
- java防sql注入的sql语句拼接工具sqlHandle
- Java基础知识整理(七)- setDaemon()
- Java 读本地文件
- java design
- 在Eclipse中用TODO标签管理任务(Task)
- spring定时器quartz 时间设定 cron表达式
- struts.xml配置文件(package,namespace,action)
- Java 7之基础类型第1篇 - Java数据类型
- Spring与Struts的集成
- JDK5.0垃圾收集优化之--Don't Pause
- java实现ping命令
- Java IO流学习总结
- Java解惑3——循环谜题(易混淆12处)
- Java中对象序列化的作用
- Java ,单实例 多线程 ,web容器,servlet与struts1-2.x系列,线程安全的解决
- Eclipse的快捷键
- mybatis-spring学习笔记之SqlSessionFactoryBean
- JAVA实现前几秒几分钟几天前几年源码