クラス変数、インスタンス変数
ローカル変数、グローバル変数変数
ローカル変数、メンバ変数
package com.web;
public class Test56 {
//a,b両方もメンバ変数
public static int a;//グローバル変数/クラス変数(メンバ変数)
int b;//インスタンス変数(メンバ変数)
public void method() {
int c = 0;//ローカル変数
System.out.println("c = " + c);
}
public static void main(String[] args) {
int d = 0;//ローカル変数
System.out.println("d = " + d);
}
}
- 在类中的位置不同
重点
- 成员变量:类中,方法外
- 局部变量:方法中或者方法声明上(形式参数)
- 作用范围不一样
重点
- 成员变量:类中
- 局部变量:方法中,if或循环中
- 初始化值的不同
重点
- 成员变量:有默认值
- 局部变量:没有默认值。必须先定义,赋值,最后使用
- 在内存中的位置不同
了解
- 成员变量:堆内存
- 局部变量:栈内存
- 生命周期不同
了解
- 成员变量:随着对象的创建而存在,随着对象的消失而消失
- 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失