变量的分类
根据变量的声明方式分
第一种:成员变量------包括如下
1 类变量(class variable)也称静态变量: 声明在class内 , method之外并且用static修饰.在类加载时开始初始化,类消亡时销毁
2 实例变量(instance variable):声明在class内 , method之外并且未用static修饰.有对象之后才有初始值,随对象的存在而存在
第二种:局部变量 只在定义的变量的代码块有效------包括如下
1 方法参数(method parameter):声明在method小括号内的变量.
2 狭义的局部变量(local variable):声明在method方法体内的变量.
3 异常捕捉变量(exception-handler parameter):声明在catch小括号内的变量.
根据变量存放在内存中位置分
第一种:堆内存变量(heap variable) 可以被jvm初始化默认值 ------包括如下
1 类变量(class variable)
2 实例变量(instance variable)
第二种:栈内存变量( stack variable) 不能被jvm初始化默认值------包括如下
1 方法参数(method parameter):声明在method小括号内的变量.
2 狭义的局部变量(local variable):声明在method方法体内的变量.
3 异常捕捉变量(exception-handler parameter):声明在catch小括号内的变量.