返回 Java编程练习目录
考察对象的引用和传递
package OO;
import java.util.ArrayList;
import java.util.List;
/**
* 补充:
*
* @author (yqj2065)
* @version (0.1)
*/
public class Objects_references{
List<String> list1 = new ArrayList<>();
List<String> list2 = new ArrayList<>();
public List<String> method(List<String> list){
list.add("a");
list.add("b");
list = new ArrayList<>();//
return list;
}
public static void main(String[] args){
Objects_references obj1 = new Objects_references();
Objects_references obj2 = obj1;
obj2.list1.add("c");
obj2.list1 = obj2.list2;
obj2.list1.add("d");
List<String> list3 = obj2.method(obj2.list1);
list3.add("e");
System.out.println(obj1.list1);
System.out.println(list3);
}
}
输出为?
1. [d, a, b]
[d, a, b,e]
2.[c, d, a, b]
[c, d, a, b, e]
3.[d, a, b]
[e]
另外:注释掉method()中的语句//list = new ArrayList<>(),结果又如何?