通过引用访问对象
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 为真。
下面程序的输出是什么?我不知道对象分配或引用。
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 为真。