一. Java中变量的分类
Java中变量根据声明位置不同可以分为:成员变量和局部变量。
成员变量又分为静态成员变量和实例成员变量。如果使用static关键字修饰又称为静态成员变量,如果没有static修饰又称为实例成员变量。
/**
* @author positiveenergychina
* @create 2022/9/22 21:58
*/
public class MemberVariableAndLocalVariable {
static int a;//在类中声明静态成员变量a,使用默认的初值
int b; //在类中声明实例成员变量b,使用默认的初值
static int c=5;//在类中声明静态成员变量并赋初值
static int d;//成员变量可以在类体中声明,在方法体中赋初值
int f;//
public static void main(String[] args) {
int b=12;//在方法中声明局部变量b并赋值
MemberVariableAndLocalVariable m= new MemberVariableAndLocalVariable();
c=10; //在方法中再一次对静态成员变量赋值
//静态成员变量a的调用,类名.静态成员变量名,同一类中类名可以省略,使用默认的初值
System.out.println(MemberVariableAndLocalVariable.a);//a=0
//实例成员变量b的调用,对象名.实例成员变量名,只能使用对象来调用
System.out.println(m.b);//实例成员变量b=0
//虽然和成员变量重名但是没有对象来调用,所以此处的b不是成员变量,只是局部变量
System.out.println(b);//局部变量b=12
c=20;
//静态成员变量在类中和在方法中,多次被赋值,java遵循就近原则会自动访问离它最近的数据。
System.out.println(c);//c=20,遵循就近原则
System.out.println(MemberVariableAndLocalVariable.a+m.b+b+c);//运行结果32
d=20;
m.f=18;
System.out.println(d+m.f);
}
}
在类体中,成员变量不能先声明,后赋值:
成员变量可以在类体中声明,在方法体中赋初值
如果感觉对你有用就点个赞,谢谢!