局部变量和成员变量初始化的不同
2014-12-30 11:20
323 查看
1. 区别
值类型的 局部变量必须初始化,成员变量声明时默认初始化。
也就是说,局部变量使用前,必须赋值。而成员变量 会默认赋值,不必须。
2.默认值是什么?
成员变量中里的,基本数值类型默认初始值为0,String等非基本类型初始化为null。
Why?
值类型在栈中,值在是在栈中。而String等引用类型在堆中,不赋值表示没有指向,所谓为null。
3.this什么时候用?
当成员变量和局部变量(函数参数也可以看做局部变量)重名的时候,被看做局部变量,因此为了避免混乱,建议访问成员变量的时候加 上“this.”,this代表当前对象。
值类型的 局部变量必须初始化,成员变量声明时默认初始化。
也就是说,局部变量使用前,必须赋值。而成员变量 会默认赋值,不必须。
2.默认值是什么?
成员变量中里的,基本数值类型默认初始值为0,String等非基本类型初始化为null。
Why?
值类型在栈中,值在是在栈中。而String等引用类型在堆中,不赋值表示没有指向,所谓为null。
3.this什么时候用?
当成员变量和局部变量(函数参数也可以看做局部变量)重名的时候,被看做局部变量,因此为了避免混乱,建议访问成员变量的时候加 上“this.”,this代表当前对象。
相关文章推荐
- A4第四章第2节null和成员变量、局部变量的不同初始化
- java中成员变量和局部变量的初始化
- 关于java中成员变量有默认初始化而局部变量没有
- 成员变量自动初始化,局部变量必须手动初始化
- C++_类_不同类型成员变量的初始化方式
- 7 面向对象(成员变量和局部变量的区别,类作为形式参数的问题,匿名对象,封装,private关键字,this关键字,构造方法,类的初始化过程,static关键字)
- 关于成员变量和局部变量是否都会被默认初始化的问题
- c++中各类型成员变量的不同方式的初始化
- Java成员变量和局部变量初始化问题
- 基本类型的成员变量(attribute)会被自动初始化,但局部变量(variable)就不会被自动初始化。
- java成员变量和局部变量的初始化和内存中的运行机制
- Delphi会自动初始化全局变量和类成员变量,但不初始化局部变量
- java基础---静态变量,成员变量,局部变量及类的初始化顺序
- 摘录 成员变量和局部变量的 不同
- java关于局部变量必须初始化赋初值及成员变量不必须该操作的原理浅解析
- 关于成员变量自动初始化和局部变量手动初始化
- 成员变量和局部变量的初始化和内存运行机制分析
- 类的定义以及成员变量与局部变量的区别
- 类变量、成员变量、实例变量、局部变量、静态变量、全局变量 的解释。
- 线程分别改变不同成员变量是线程安全的