1,成员变量,在类中定义,分为实例变量和类变量;
局部变量,在方法中定义,分为形参、方法局部变量及代码块局部变量。
针对成员变量
2,A实例变量,不以static修饰;
B类变量,以static修饰。
3,A实例变量生命周期:从该类的实例被创建开始,直到这个实例被完全销毁;
B类变量生命周期:从该类准备阶段开始,直到该类被完全销毁。
针对局部变量
4,A形参,在方法签名时定义的变量;
B方法局部变量,在方法内部定义的局部变量;
C代码块局部变量,在代码块定义的局部变量。
5,A形参,在整个方法内有效;
B方法局部变量,从定义该变量的位置到方法结束有效;
C代码块局部变量,在定义该变量的位置到代码块结束有效。
6,成员变量,无需显示的初始化;而局部变量,则需显示的初始化。
7,成员变量,存在于堆内存中,依赖于类或者对象而存在;而局部变量,则存在于栈内存中。
8,一般建议,访问类变量时,使用类做主调。
如下代码仅供参考。
- class myPerson
- {
- public static String name;//类成员变量
- public int age;//实例成员变量
-
- public void setAges(int ages)//ages 是形参,属于局部变量
- {
- this.age = ages;
- }
-
- public void printYear(int ages)//ages 是形参,属于局部变量
- {
- for(int i = 0;i<ages;i++)//i 是代码块局部发变量
- }
- }
复制代码
|
|