在java中虽然没有指针的概念,
但是对象其实都是地址引用的。
所以你在方法内部操作对象的时候,
值会反应到它的内存地址中。
所以在方法外就会取到它这个对象中的值。
肯定输出1啊,因为你的list里面只有一个数据1;
然后System.out.println(list);
实际上是要输出list.toString(); 这个方法会将list里面的数据按照:
[list[0],list[1],....,...]的形式输出。
另外现在list和ArrayList最好加入泛型,指定数据类型。
这程序很正常啊有什么问题呢,
main方法中调用了b方法,传入了一个空的list ,在b方法中,list新增了一个元素
list不为空了,输出正常
b(list) 相当于 list.add(1)