局部变量和成员变量初始化的不同

1. 区别

   值类型的 局部变量必须初始化,成员变量声明时默认初始化。

   也就是说,局部变量使用前,必须赋值。而成员变量 会默认赋值,不必须。

 

2.默认值是什么? 

  成员变量中里的,基本数值类型默认初始值为0,String等非基本类型初始化为null。

  Why?

  值类型在栈中,值在是在栈中。而String等引用类型在堆中,不赋值表示没有指向,所谓为null。

 

3.this什么时候用?

  当成员变量和局部变量(函数参数也可以看做局部变量)重名的时候,被看做局部变量,因此为了避免混乱,建议访问成员变量的时候加 上“this.”,this代表当前对象。

原文地址:https://www.cnblogs.com/mcad/p/4193196.html