通过引用访问对象

Access object by reference

下面程序的输出是什么?我不知道对象分配或引用。

class ObjEx
{
    public static void main(String arg[])
    {
        ObjEx ob=new ObjEx();
        Object o = ob;

    if(o==ob)
        System.out.println("1");
    if(o!=ob)
        System.out.println("10");
    if(o.equals(ob))
        System.out.println("101");
    if(ob.equals(o))
        System.out.println("1101");

    }
}

选项:A)1 (B)10 (C)101 (D)1101 请向我解释将输出什么,这怎么可能? 我在屏幕上得到输出,但我没有得到这个程序:

1

101

1101

此处if(o==ob)您正在比较参考文献 对于最后 2 个案例:

if(o.equals(ob))
if(ob.equals(o))

在java中,equals是一个比较对象的操作,这个操作是对称的:对于任何非空引用值x和y,x.equals(y) 应该 return 为真当且仅当 y.equals(x) return 为真。