版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37602383/article/details/78496816
值类型:整数,小数,布尔值,字符,结构题,枚举
引用类型:字符串,数组,类实例
栈区:内存小,读写速度快
堆区:内存大,读写速度慢
值类型的变量创建是在栈中开辟空间的,由系统自动分配
引用类型的变量创建是在堆中开辟内存空间的,使用new关键字进行分配
1值类型之间的赋值是一个拷贝过程,会将某个值类型变量的值拷贝一份给另一个值类型,两个变量之间互不影响
int a=20;
int b;
b=a;
b=30;
out:b=30,a=20;
2引用类型之间的赋值是一个引用赋值类型,此时两个引用类型的变量指向同一块内存地址,因为只要内存当中的值改变,两个都会受到影响
int[] arr1=new int[]{15};
int[] arr2=arr1;
arr2[0]=30;
out:arr2[0]=30,arr1[0]=30;
方法的参数列表上面当中的参数叫做形式参数也叫做形参
不是方法中参数劣币哦啊,是我们在程序中实例化出来的叫做实例参数,也叫做实参
实参传入方法中,实参赋值给形参这是一个值拷贝的过程所以方法调用之后实参的值不会改变
ref
实参赋值给形参 想要有引用类型的效果必须对形参使用ref关键字进行修饰并且在方法调用的时候也要使用ref关键字
out
ref修饰的实参一定要有初始化,out修饰的实参可以没有初始化
数组参数不能跟ref out 一起使用
当参数列表当中有多个参数,并且有 ref,out,params修饰参数的话,pariams修饰的参数要放在最后面