1、成员变量与局部变量
成员变量:作为类的成员而存在,直接存在于类中。
局部变量:作为方法或语句块的成员而存在,存在于方法的参数列表和方法定义中。
局部变量在使用前必须被程序员主动的初始化,和此形成对比,系统中的成员变量则会被系统提供一个默认的初始值。所以在语法上,类的成员变量能够定义后直接使用,而局部变量在定义后先要赋初值,然后才能使用。
所有类的成员变量可以通过this来引用。成员变量又分成俩中类型:实例变量和静态变量。静态变量在定义时要使用static关键字。
![](https://img-my.csdn.net/uploads/201208/11/1344650877_1463.png)
2、java不同类型变量的存储位置及相关信息
java中的八大基本类型为short、int、long、float、double、byte、char、boolean。java中除了这八大基本类型外的所有类型都称作引用类型。java中的对象操作是通过引用对其操作的。如下:
基础类型只占一块内存,而引用类型占两块内存,类似于C中的指针。如上,s存储时占用一块内存(栈内存),而具体内容存储在堆内存中占第二块内存(new出来的所有都放在堆内存中)。
3、类和对象的关系
类是静态的概念,代码区;而对象是new出来的,位于堆内存中,类的每个成员变量在不同的对象中都有不同的值(除了静态变量),而方法只有一份,执行的时候才占内存。
同一个类,new出两个对象,这两个对象在堆内存中的存储位置是不同的。
4、构造方法
构造方法的用处是:和new一起使用,创建一个新的对象。构造函数是定义在Java类中的一个用来初始化对象的函数,构造函数与类同名且没有返回值。