java没有指针,也就是不能传递地址,一切介对象。
解决方案 »
- printstream的用法
- 一个自己写的并发的程序的疑惑!在线等
- 一个查询异常的问题,请大家多多帮忙!~
- 请教重写Comparator的问题
- Graphics用法
- 用Calendar取每月最后一天的下一天不正确
- but '1.2' is required.?在线等待,解决立即给分
- B/S结构:客户端(B)能不能通过Internet直接往服务器(S)的SQL Server数据库里写数据?(答对结帖)
- 我是java新手,请教一个问题?
- 有什么JAVA开发工具可以翻译的?JBuilder好象不能用东方快车翻译。。。
- 简单的送分问题!重在参与了!来了就有分的。几个英文单词而已!!
- 如何使visual java++支持swing工具包??
一个是传地址,一个是引用对象啊~
法内时要小心,因为在方法内对这个object的修改会”扩散“到
方法外部。同样,在Return是也要注意,如果把一个类内部的
field传递了出去,即使是一个private field,也会被”境外的反动
势力“修改,从而封装性被破坏。
而C++中的指针可以参加运算.
void methodA(AAA arg0[]){
}arg0你认为是传的地址,但它却也是个对象。这单纯用传地址或传对象都难完美的解释。一般的朋友只要记住java specification中的对象的规定就可以了。所以我的建议是,无论学什么语言都要以它的specification为主,不要过多对比两个语言在实现上的异同。更不能把自己对语言实现的猜测用到编程实践上去。当然正确的理解对编程实践是有很大帮助的。例如学了《深度探索C++》后就会发现某某是怎么实现的,为什么怎样实现,在编程中就会避免许多bug.大家以为如何?
尤其是JAVA中的数组,它是个对象,不是个const指针。这是JAVA和C++比较大的一个区别。
比如:
String[] s = new String[3];
这时s是一个对象,这个对象里面又有三个String对象。现在初始化的是对象s,但它里面的三个String仍然是null。这三个String要一个一个初始化:
s[0] = new String("I love u");
...