锁定老帖子 主题:一个馒头引发的血案
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-11-28
public class B
{ public void mm(List a) { a = new ArrayList();//这个能编译通过吗???????? 假如传进来的a是一个Vector???? a.add("mm"); } } 这题首先考的不是值传递的问题!!!!!!!,应该是多态的问题!!! 另外,ArrayList内部其实就是个Object[]! |
|
返回顶楼 | |
发表时间:2008-11-28
初学者对于这种问题,很正常的,支持LZ。
|
|
返回顶楼 | |
发表时间:2008-11-28
最后修改:2008-11-28
hahalizx 写道 public class B
{ public void mm(List a) { a = new ArrayList();//这个能编译通过吗???????? 假如传进来的a是一个Vector???? a.add("mm"); } } 这题首先考的不是值传递的问题!!!!!!!,应该是多态的问题!!! 另外,ArrayList内部其实就是个Object[]! 假如传进来的a是一个Vector???? 试一下.....不就知道了? java.util.Vector All Implemented Interfaces: Cloneable, Collection, List, RandomAccess, Serializable |
|
返回顶楼 | |
发表时间:2008-11-28
抛出异常的爱 写道 hahalizx 写道 public class B
{ public void mm(List a) { a = new ArrayList();//这个能编译通过吗???????? 假如传进来的a是一个Vector???? a.add("mm"); } } 这题首先考的不是值传递的问题!!!!!!!,应该是多态的问题!!! 另外,ArrayList内部其实就是个Object[]! 假如传进来的a是一个Vector???? 试一下.....不就知道了? java.util.Vector All Implemented Interfaces: Cloneable, Collection, List, RandomAccess, Serializable 我的意思是参数是个List,然后你把它强制new成ArrayList,这就是不对的啊!!! |
|
返回顶楼 | |
发表时间:2008-11-28
huangxin_sy 写道 List a = null; 应该在这个地方声明之后,立马实例化就可以了,让他指向list的实现类ArrayList就可以了, 这样在B中的mm()中,也就是传递了一个list的引用。 |
|
返回顶楼 | |
发表时间:2008-11-28
public class B
{ public void mm(List a) { a = new ArrayList(); a.add("mm"); } } 假如这是一个单独的类, a = new ArrayList();这都肯定编译通不过的,其他的都不用说了!!!!!!!! 这题目看上去是考值传递那些,但我的观点是考的多态!!!!!!!! |
|
返回顶楼 | |
发表时间:2008-11-28
最后修改:2008-11-28
hahalizx 写道 抛出异常的爱 写道 hahalizx 写道 public class B
{ public void mm(List a) { a = new ArrayList();//这个能编译通过吗???????? 假如传进来的a是一个Vector???? a.add("mm"); } } 这题首先考的不是值传递的问题!!!!!!!,应该是多态的问题!!! 另外,ArrayList内部其实就是个Object[]! 假如传进来的a是一个Vector???? 试一下.....不就知道了? java.util.Vector All Implemented Interfaces: Cloneable, Collection, List, RandomAccess, Serializable 我的意思是参数是个List,然后你把它强制new成ArrayList,这就是不对的啊!!! 瀑布汗我哪只眼睛也没看到 (List)a 这样的代码...哪里强转了? PS:强转错误会有异常抛出的... 这样学java还不如不学.... |
|
返回顶楼 | |
发表时间:2008-11-28
java的 基本类型是值传递 对象是 引用传递 |
|
返回顶楼 | |
发表时间:2008-11-28
我的理解错了,呵呵,道个歉!!!!!
|
|
返回顶楼 | |
发表时间:2008-11-28
hahalizx 写道 抛出异常的爱 写道 hahalizx 写道 public class B
{ public void mm(List a) { a = new ArrayList();//这个能编译通过吗???????? 假如传进来的a是一个Vector???? a.add("mm"); } } 这题首先考的不是值传递的问题!!!!!!!,应该是多态的问题!!! 另外,ArrayList内部其实就是个Object[]! 假如传进来的a是一个Vector???? 试一下.....不就知道了? java.util.Vector All Implemented Interfaces: Cloneable, Collection, List, RandomAccess, Serializable 我的意思是参数是个List,然后你把它强制new成ArrayList,这就是不对的啊!!! 按你的意思还能new成List不成???? |
|
返回顶楼 | |