java - 为什么我的代码在 obj==null 时才有效?

标签 java object reference null

我正在阅读有关 private 的内容,我发现了这段代码...我不明白为什么当我输入 obj == 0obj == 1 时出现错误并且该代码不起作用,但它仅在 obj == null 时起作用。 你能向我描述一下代码是如何工作的以及为什么它在 obj == null 时才工作吗?

package person;

public class Cat {

    private static Cat obj = null;

    public Cat object () {
        if(obj == null){
            obj = new Cat();
        }

        return obj;
    }

    public void display() {
        System.out.print("obj is null");
    }

    public static void main(String[] args) {
        Cat myobj = new Cat();
        myobj.display();
    }
}

输出为

obj is null

谢谢

最佳答案

你不能将 cat 引用指向 int 原语,这是没有意义的。

它适用于 null,因为所有引用都可以设置为 null。 Null 只是意味着引用没有指向任何内容。

关于java - 为什么我的代码在 obj==null 时才有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32632406/

相关文章:

Java While True 语句在应该中断时重复

javascript - 将我的变量放在命名空间下

c++ - 从静态变量引用非静态变量会使非静态变量在静态变量之前析构

memory-management - Lua - 数一数。对表的引用

php - PHP编程语言中 'identifier'和 'reference'概念有什么区别?

java - 如果我有一个名为 'exceptions' 的类,并且它只有静态类,这是否违反了 Java 标准?

java - 运行 gradle 构建时出错

java - 需要 Java 源文件的依赖树

javascript - 在 JavaScript 中创建面向对象编程的本地状态

javascript - 在 jQuery 中使用字符串调用嵌套对象函数