import java.util.*;public class Test {
public ArrayList getList() {
ArrayList list = new ArrayList();
return list;
} public static void main(String[] args) {
Test test = new Test();
test.getList();//getList()方法返回的是对象还是引用? }}
//如果是引用//1.方法返回的引用是在什么地方定义的?
//2.方法返回的引用是在什么地方传参(对象的地址)的?
public ArrayList getList() {
ArrayList list = new ArrayList();
return list;
} public static void main(String[] args) {
Test test = new Test();
test.getList();//getList()方法返回的是对象还是引用? }}
//如果是引用//1.方法返回的引用是在什么地方定义的?
//2.方法返回的引用是在什么地方传参(对象的地址)的?
public static void main(String[] args) {
Test test = new Test();
test.getList();//getList()方法返回的是对象还是引用? }
test.getList();//得到对象
但是你没有把对象传递给任何的引用
你可以这样定义
public static void main(String[] args) {
Test test = new Test();
ArrayList anotherList;
anotherList=test.getList();//getList()方法返回的是对象还是引用? }
anotherList就是引用的test.getList()返回的对象;
当调用getList(),应看一看,他方法的内容.ArrayList list = new ArrayList();
这是又有引用,又有对象.但list是引用是毫无疑问的.那return list应该返回的
是list的内容吧.也就是指向对象的地址.所以我认为方法返回的是对象的引用.
试想想如果该一下return语句.return new ArrayList().那又是返回什么那!
我认为还是引用(对象的地址).返回对象是不可能的!!!
关键在于ArrayList list = new ArrayList();的完成了那些功能:
1 在栈声明一个ArrayList的引用list
2 分配空间,建立对象
3 返回对象的引用地址赋给list.