阅读本文约“1.8分钟”segmentfault
实例变量永远都会有默认值,若是你没有明确的赋值给实例变量,或者没有调用setter,实例变量仍是会有值!架构
integers 0 floating points 0.0 booleans false reference null
所以,你无需初始实例变量,由于他们会有默认值。数字的primitive(包括char)的预设为0,boolean的预设为false,而对象引用则为null。code
要记得null表明没有操做对象的远程控制,它是个引用而不是对象。对象
咱们来看看实例变量与局部变量之间的差异:游戏
一、实例变量是声明在类内而不是方法中。get
二、局部变量是声明在方法中的。编译器
三、局部变量在使用前必须初始化。it
局部变量没有默认值,若是在变量被初始化前就要使用的话,编译器会显示错误。编译
那么方法的参与与局部变量也是同样的吗?电商
方法的参数基本上与局部变量是相同的,可是方法不用担忧其未声明的问题,由于在调用的时候,编译器就会检查你是否合法的传参与调用这个方法了。
对于变量的比较(primitive主数据类型或引用)
使用==来比较两个primitive主数据类型,或者判断两个引用是否引用同一个对象。
使用equals来判断两个对象是否在乎义上相等。
本文已转载我的技术公众号:UncleCatMySelf
欢迎留言讨论与点赞
上一篇推荐:【Java猫说】项目架构的演进史(大型电商系列)
下一篇推荐:【Java猫说】构建战舰类控制台游戏