java 中局部变量,成员变量,静态变量

主要介绍局部变量,成员变量,静态变量(全局变量)的定义,作用域或声明周期,访问权限,默认值,内存的分配,它们的区别:


局部变量
成员变量(实例变量)
静态变量(类变量或全局变量)
声明或定义
声明在方法体(方法,构造方法或代码块)内部,也就是“{}”中 声明在类里面,在方法体(方法,构造方法或代码块)之外 在类中以static关键字声明,在方法体(方法,构造方法或代码块)之外
作用域或生命周期
方法或块被执行时创建,执行完“{}”就释放 实例变量创建时创建,对象销毁时释放
无论一个类创建了多少个对象,类只拥有类变量的一份拷贝,程序开始时创建,结束时释放
访问权限
不能用修饰符,方法体中可见 有修饰符,public修饰子类可见,private 修饰本类可见
有修饰符,但经常被修饰为publc/private,final和static类型的常量
初始化值或默认值
没有默认值,必须初始化赋值
有默认值,引用类型为null,其他为基本数据类型默认值
有默认值,引用类型为null,其他为基本数据类型默认值
内存分配
局部变量在所在方法调用时,存在栈内存空间中 成员变量在所在类被实例化后,存在堆内存中 静态变量存放在内存的静态存储区

局部变量实例:

public class TestPeople {
    public void people() {
        int age = 0;
        //int age;  //如果声明不初始化  
        age = age + 18; //这里就会报错要initialized 
        System.out.println("age=" + age);
    }
}

成员变量,静态变量实例:

public class TestPeople {
    public String name; //成员变量
    private int age;//私有成员变量
    public static String sex="男"; //静态变量
    private static final String BIRTHDAY="xx月xx日"; //常量
}

注:静态变量可以通过类的名字调用如:

TestPeople.sex


你可能感兴趣的:(java,静态变量,局部变量,全局变量,成员变量)