java定义变量为什么要初赋值为null

java定义变量为什么要初赋值为null举个例子数据库的一般都这么写:Connectioncon=null;Statementsm=null;ResultSetrs=nu... java定义变量为什么要初赋值为null 举个例子 数据库的 一般都这么写: Connection con = null;
Statement sm = null;
ResultSet rs = null;....... 为什么不直接不赋值?Connection con;
Statement sm;
ResultSet rs;不赋值也就是null吧?和上面写法有什么不同
展开
 我来答
小傻

推荐于2017-09-30 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11567 获赞数:31134
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部
JAVA的成员变量在类编译时,如果没有显示的给值,编译时会给加上默认值(0、false、null等),这也是跟C,C++的编译上的不同,但局部变量就不会(这个JDK的版本有关系,后面的版本应该不加=NULL,也没关系),这主要是跟编译的规则有关系.
至于为什么要这样写,这主要是考虑到代码的移值和兼容吧.也是一个写程序的好习惯,因为做为一个程序员,你不单纯只用一种语言在写,显示的给值是所有语言都能够接受吧.所以是一种好的习惯.再说,这个习惯跟JAVA的回收机制也有关系,只有显示的给了NULL,那么上次的调用的变量就可以更快的回收,否则它也会影响内存.
匿名用户
2013-06-23
展开全部
在方法里定义的局部变量,就必须给初始值;若是在类中定义的成员变量,则不用因为类在初始化时,已经保证了成员变量的初始化,即null,局部则必须通过自定义初始化 还有就是 这样可以节省内存 当你使用的时候在构造出来 不适用当然为空
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-23
展开全部
因为未初始化的变量是不能被使用的,类的属性会默认初始化,而变量则需声明时初始化。如:Connection con;
try{ con = Drivermanager.getConnection("....");}catch(Exception e){ }finllay{ con.close(); //如果上面是Connection con;那么这里con就不能用,因为con不一定会被初始化,要是Drivermanager.getConnection发生错误,那么con就没被初始化}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-23
展开全部
java里赋不是完全不一样的,不赋值表示还没初始化,连地址都没有,是完全不能使用的,赋值后即使是空值,也是一个正常的变量了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-23
展开全部
你说的对,不赋值的确也是null。但是在某些语言中却不是(比如C的指针,不赋值就是随机指针)。这纯粹是让你养成一个好习惯而已。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式