我刚入门,不知道那么多!只知道
JMyObject myo1=new JMyObject(); 
JMyObjecdt myo2=myo1  
是传地址,跟指针效果一样,java不是没有指针,只不过换了一个叫法,叫引用
(reference),其实骨子里就是指针。

解决方案 »

  1.   

    “还请大家给一些JAVA的好网址”javaranch:世界顶级的java技术论坛
    http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgiChinaJavaWorld:我认为这是国内最好的java论坛
    http://www.chinajavaworld.net/forum/leoboard.cgi
      

  2.   

    “3。还有就是在JAVA中对参考类型的赋值是传值还是传址”全部是传值。
    对于对象稍微有点特殊:
    因为对象保存的是地址,所以这时的传值就变成了地址的拷贝,但是你不可能改变拷贝前的地址,这根C++的传地址是有本质区别的。请参考我已经回复过的问题:
    http://www.chinajavaworld.net/forum/topic.cgi?forum=21&topic=7815
      

  3.   

    java继承了c++的优点,抛弃了c++中指针等复杂的东东,
    java无法像c++那样对底层进行复杂的操作,那不是它的强项,
    一般用在网络编程中,如web,企业级开发,
      

  4.   

    “1.在JAVA中是如果进行转址操作的。”
    Java不允许直接对地址进行操作。
      

  5.   

    “2。在JAVA中对缓冲区进行操作很不方便...”
    Java的类型检查非常严格,不能象C++中那样可以任意对内存中的数据进行类型转换,所以这个问题我感觉象问题1的性质:
    你要使用Java,就要转变你以前的C++的思路,而改用Java的完全面向对象和类型安全的思想。
      

  6.   

    “请了解C++到JAVA的人高手给出在JAVA中对C++的指针的实现方法。”
    高手不敢称,但事实是Java中没有指针,没有直接操作内存的方法,所以你要改用面向对象来解决问题。
      

  7.   

    第2个问题是比较麻烦
    但是你如果缓冲区是用在流上的话
    那么java提供了readXXX之类的方法
    如果是自己的缓冲区,那写个类封装一下比较好
    把这些转换放到底层去做double *s=(double)&a[4];这种代码是Java所要抛弃的
    因为非常容易造成数组越界
      

  8.   

    给兄弟一个建议:
        java摒弃了c++中的一些东西,指针就是其中之一。如果象在java里用指针
    是有点困难。但也是有办法的: 先把byte[]转换成输入流DataInputStream
    该类有读float的方法。看看aip就明白
        不过兄弟如果对c++里的指针念念不忘,还不如在c++方面发展吧。
      

  9.   

    Java中的reference你可以当C++的指针看
    有其相似之处
    Java之所以不允许操作内存,是因为它是需要JVM解释运行的语言,如果越过JVM,那Java的跨平台性也就不复存在了。