怎样用Java检测一个变量有没有被初始化?
我认为用之前判断是不是为null最保险;当然这个不是用于判断一个变量有没有被初始化的方法。
成员变量虚拟机会自动初始化,如果是引用型会被默认null,其实也是初始化了,只不过初始化为null,用之前判断下非null。局部变量好说,不初始化编译过不去。
成员变量类里定义的变量,但在方法、构造方法和语句块之外。
类变量:就是以static修饰的,这个好说,系统根据我们的需求,在不同的位置进行初始化。
实例变量:不以static修饰的,不管程序有没有显示的初始化,虚拟机都会自动初始化为默认值,随着当前对象的建立而建立,随着对象的销毁而销毁,存在于对象所在的堆内存中。整数类型默认0,浮点型默认0.0f/0.0d,布尔型默认false,引用型默认null。
局部变量形参:就是入参变量
方法局部变量:方法内
代码块局部变量:代码块内
对于局部变量,必须先经过显式初始化,才能使用。如果编译器确认一个局部变量在使用之前可能没有被初始化,编译器将报错。
希望我的回答,能够帮助到你!
我会持续分享Java程序开发、架构设计、职业发展等方面的知识和见解,希望能得到你的关注。
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有