我们假设我们有这个示例代码:
Fish fish;
fish.equals(null);
fish.equals(fish);
Run Code Online (Sandbox Code Playgroud)
equals方法还没有被覆盖,而且fish变量还没有被初始化,这意味着java将无效吗?
那么两条线都会返回真的吗?为什么会这样呢?在未初始化对象时是否也可以使用类变量?
如果fish是局部变量,则此代码不会通过编译,因为fish必须初始化.
如果fish是实例变量,则此代码将抛出NullPointerException,因为默认值为fishnull,并且取消引用null引用会抛出此异常.
| 归档时间: |
|
| 查看次数: |
230 次 |
| 最近记录: |