,。 新手

能不能说说Java中值的转递和数组的转递有什么作用?如果少了它们会有什么影响?

Java中基本数据类型是传值的。如boolean,byte,char,short,int,long,float,double。
Java中引用数据类型(包括数组,包括基本类型的数组)是传引用的。


int[] is = new int[]{1,2,3};
int[] is2 = is;
is2[0] = 10;
那么is[0]也跟着变化。

传引用跟两个包之间调用方法有联系吗?

首先,在Java中是先声明一个类的变量。然后,用类生成一个类的实例,也就是在内存中的类的实例区域,最后把这个区域的指针赋给类的这个变量。注意,变量中存的是指向对象的指针。 若是按传址传参数,是要改变这个对象变量所指的内存对象区域,也就是要在方法内把新对象赋给方法外的对象变量。但是,这在Java中办不到。因为Java是把对象变量中的对象指针传入方法,并没有把变量本身的地址传入方法;在方法中,会生成新变量接受这个对象的指针。所以,在Java方法中,可以改变当前对象中的内容,却不能改变方法外边变量的值,即所指向的对象。对于传值、传址的分析就是为了在应用中少犯错误。其他是次要的。