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
                    
                
                
            
        
浙公网安备 33010602011771号