java变量及其传递

来源:互联网 发布:在淘宝怎么卖二手东西 编辑:程序博客网 时间:2024/06/06 05:52

1.变量类型与引用类型:

基本类型:其值直接存在于变量中。

引用型的变量除占据一定的内存空间外,他引用的对象实体(由new创建还有接口等)也要占一定的空间。(与指针相似)

当调用一个引用时进行赋值等操作时,例如

person n= new person();

person m =n;

复制的为引用当我们改变m的属性时候,相当于改变了m和n的所指向的堆内存中一些属性而我们复制的只是引用而已。

变量分为字段变量和局部变量:

字段变量就是我们常说的域定义在类当中的,而局部变量是定义在方法中的变量或者是方法的参变量。

2.从内存的角度来看:

*存储位置不同:字段变量是类的一部分存储在堆中,而局部变量存储在栈中。

*生命周期不同:字段变量的产生是在类的创建过程中产生,而局部变量是随着方法的创建而产生的,方法结束以后内存就释放掉了。

*初始值不同:字段变量是自动的赋初值,而局部变量是显示的进行赋初值。

3.两种变量的区别:

*从语法角度看:

    字段变量属于类,可以用public,static等修饰

    局部变量不能够被访问控制符和static所修饰但是可以被final所修饰

4.变量的传递:

*调用对象方法时,需要传递参数时,

*java是值传递,是将表达式的值复制给形式参数。

*对于引用变量,传递的值是引用值,而不是复制对象实体。


原创粉丝点击