变量及其传递
一.基本类型变量与引用型变量
①.变量按类型分
1. 基本类型(primitive type):其指直接存于变量中
2. 引用型(reference type):其 变量和所引用的对象实体(对象实体由new创建) 都要占据一定的空间
//引用型变量的传递示例
MyDate b=a;该语句复制引用,操纵的是同一个对象
/*
基本类型变量:四类八种
数值型 int,byte,short,long
浮点型float,double
字符型char
布尔型boolean
引用型变量 :类class
接口interface
数组 array
*/
②.变量按位置分
1. 字段变量(field):
位于类中;(随着对象的存在而存在)
存储位置在堆中,属于对象的一部分;
可以自动赋初始值;
2. 局部变量(local variable):
位于 方法中定义的变量或者方法的参数变量;(随着方法调用的存在而存在)
存储位置在栈中;
必须显式赋值,否则无法使用。
//字段变量和局部变量的示例
/*
其他的一些区别
字段变量:属于类,可以private,public,static,final对字段的存取权限进行修饰
局部变量:不能被 访问控制符 及static修饰,但能被public,final修饰
*/
二.变量的传递
- 基本类型的变量传递:传值赋值 (指的是整数值或实数值直接复制)
- 引用类型的变量传递:传引用赋值 (指的是复制引用来改变对象的属性,而不是直接复制对象实体)
public class A{
public static void modify(int a){
a++; //局部变量的a=1
}
public static void modify(int[] b){
b[0]++;
b=new int[5];
}
public static void main(String [] args){
int a=0; //字段变量的a=0
modify(a);
System.out.println(a);
int[] b=new int[1]; //数组传引用类型
modify(b);
System.out.println(b[0]);
}
}
输出结果:0
1
/*
可以慢慢体会一下
把字段变量的a b换成x y试下就比较清楚了
(注:此处代码纯手打……突然插入上传不了图片,没辙了)
*/
三.变量的返回
方法的返回:
返回基本类型
返回引用类型,可存取对象实体。
//部分代码
Object newObject(){
Object o=new Object();
return o;
}
调用时:Object p=GetNewObject();
【果然实属不易,最后的话希望能被点个赞(卑微……)】