Java中变量的分类——成员变量、局部变量

Source

一. 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);
    }
}
 
   

 在类体中,成员变量不能先声明,后赋值:

成员变量可以在类体中声明,在方法体中赋初值

如果感觉对你有用就点个赞,谢谢!