Java |类和对象|问题6

预测以下程序的输出。

null

class Test
{
int a = 1 ;
int b = 2 ;
Test func(Test obj)
{
Test obj3 = new Test();
obj3 = obj;
obj3.a = obj.a++ + ++obj.b;
obj.b = obj.b;
return obj3;
}
public static void main(String[] args)
{
Test obj1 = new Test();
Test obj2 = obj1.func(obj1);
System.out.println( "obj1.a = " + obj1.a + "  obj1.b = " + obj1.b);
System.out.println( "obj2.a = " + obj2.a + "  obj1.b = " + obj2.b);
}
}


(A)

obj1.a = 1  obj1.b = 2
obj2.a = 4  obj2.b = 3

(B)

obj1.a = 4  obj1.b = 3
obj2.a = 4  obj2.b = 3

(C) 编译错误 答复: (B) 说明: obj1和obj2指的是相同的内存地址。 这个问题的小测验 如果你在上面的帖子中发现任何错误,请在下面发表评论

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享