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


转载于:https://my.oschina.net/saulc/blog/617694

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值