java 参数传递的类型 原始类型如 int, float 等是按值传诵的,其他的都是按引用。我的理解是object都是把引用传来传去,想实现C++的拷贝则要用new或clone(). 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在java中有两种参数传递方式:1,传值,这种方式只是对基本数据类型,如int,byte,char等;2,传引用,对象实例采用这种方式,需要注意的是,java里的数组也是对象,象int[]这种东东也是对象。也就是说,在传基本数据类型的时候,需要做拷贝;而传对象的时候就不需要做拷贝,直接传的是引用。这个跟c++里不一样,c++里传值还是传引用可以自己灵活选择,但是java却不能,都已经固定死了。java里传对象是固定传引用,所以“拷贝构造”也就不存在了。另外java里的引用跟c++中的不一样,java中的引用可以为空,可是c++中的引用却不能为空,从这一点来看,java里的引用更象c++中的指针。 在java里所有的值都是按值来传递。基本类型如此,对象也是如此。 JAVA里面:基本类型是传值,就是把实参的值赋给形参;对象是传递引用,让形参和实参指向同一块内存;JAVA中的参数传递是非常简单的,没有C++那么的麻烦,当然也缺少其灵活性了。 呵呵,突然明白了。int[] 其实是一个 Array 的引用类型而不是一些 int 基本类型。清楚了清楚了,谢谢各位 to: littlecpu(嘿,哥们,你欠我分,快给咯) 不要那么粗鲁无礼!不要进行人身攻击!!!希望你在学习编程的同时要学习做人的道理!!其实传值与引用,只是理解不同而矣!严格来说,Java中所有方法参数都是传值。因为即使是传递的参数是对象的引数时,引数本身也是传值的。所有基本类型都是传值的。传值:被传入的参数被视为内部的局域变量,其变化不影响外部变量的原始值。传引:对于引数本身来讲也是传值的,但是在方法内部若对引数所指向的对象属性有改变,则会直接实时地影响所指向的对象属性。理解传引这一概念的最佳方式就是画出指向图。eg. Aà(Object)O 对于A本身而言它是传值的,也就是说当A作为参数传递的时候,假若在方法内部把其它的引数赋给了A,但是当方法返回时,A仍旧是指向原来的对象,而不会改变。其次,对于传引来说,假若在方法内部对A所指向的对象属性有改变,那么对象属性的改变会是直接实时的。再次强调,Java中所有的参数传递都是传值的。传值这种题型的考试很多,基本类型传值问题考的较多的是对某一变量,故意用某一方法试图改变它,然后方法返回时再打印它。按传值的说法,实际上该变量并没有改变。 AWT-EventQueue-0"是个什么东西 JAR文件里某个类比如sash.class它还有一个sash$1.class是什么意思啊? 向大家请教一道编程题? 做jsp页面 什么时候才能用到线程? Eclipse中怎样自定义格式化代码? 关于JDbc和Access的问题,非常困惑! 高手请进,小问题寻求解答! 我快疯了!50分求JB5中配置TOMCAT4.01的方法...请进... Java异步网络的编程问题请教 成绩等级 简单问题求救!用JBuilder9打包exe文件时遇到的问题,详细请进! 关于接口的问题(100分请教)
在java中有两种参数传递方式:
1,传值,这种方式只是对基本数据类型,如int,byte,char等;
2,传引用,对象实例采用这种方式,需要注意的是,java里的数组也是对象,象int[]这种东东也是对象。也就是说,在传基本数据类型的时候,需要做拷贝;而传对象的时候就不需要做拷贝,直接传的是引用。这个跟c++里不一样,c++里传值还是传引用可以自己灵活选择,但是java却不能,都已经固定死了。java里传对象是固定传引用,所以“拷贝构造”也就不存在了。另外java里的引用跟c++中的不一样,java中的引用可以为空,可是c++中的引用却不能为空,从这一点来看,java里的引用更象c++中的指针。
基本类型是传值,就是把实参的值赋给形参;
对象是传递引用,让形参和实参指向同一块内存;
JAVA中的参数传递是非常简单的,没有C++那么的麻烦,当然也缺少其灵活性了。
传值:被传入的参数被视为内部的局域变量,其变化不影响外部变量的原始值。
传引:对于引数本身来讲也是传值的,但是在方法内部若对引数所指向的对象属性有改变,则会直接实时地影响所指向的对象属性。
理解传引这一概念的最佳方式就是画出指向图。eg. Aà(Object)O 对于A本身而言它是传值的,也就是说当A作为参数传递的时候,假若在方法内部把其它的引数赋给了A,但是当方法返回时,A仍旧是指向原来的对象,而不会改变。其次,对于传引来说,假若在方法内部对A所指向的对象属性有改变,那么对象属性的改变会是直接实时的。
再次强调,Java中所有的参数传递都是传值的。
传值这种题型的考试很多,基本类型传值问题考的较多的是对某一变量,故意用某一方法试图改变它,然后方法返回时再打印它。按传值的说法,实际上该变量并没有改变。