变量的作用域,初始化


变量的作用域
1.类的成员变量:作用于整个类
静态变量:位于方法区,被所有实例共享,生命周期与类相同,可通过类名访问,也可通过引用变量来访问
实例变量:位于堆中,他的生命周期取决于实例的生命周期


2.局部变量:位于栈中,作用于方法内部,生命周期取决于所属的方法何时被调用与销毁
局部变量不能被static private protected public修饰
局部变量要先定义后使用,否则编译报错
写代码时应将局部变量的作用域最小化

只有在构造方法,实例方法中才能使用This关键字,在静态方法,代码块中不能使用




变量初始化
1.对于类变量(成员变量),jvm会初始化为默认值(即可以只声明,而不赋值,编译不报错)
2.对于局部变量,必须进行显式初始化赋值,才能使用,否则编译报错


运行时数据区: 
堆区——存放对象的指向方法区的引用 
方法区——存放类的类型信息、类型信息包括静态变量和方法信息,而方法信息中包含类的所有方法的字节码。 
栈区——局部变量(指向堆区),main方法的调用 
例如:Doll beibei = new Doll("贝贝"); 
其中beibei在栈区,指向一个名字为“贝贝”的Doll实例(在堆区),而Doll实例含有的方法则指向方法区。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值