【Java之轨迹】第二章:局部变量、实例变量和类变量总结

本文详细介绍了Java编程中的变量分类,包括局部变量、实例变量和类变量。局部变量仅在方法内有效,不存在访问修饰符;实例变量在对象创建时分配内存,与对象生命周期相同;类变量在类首次加载时创建,由所有对象共享。同时强调了在静态方法中不能直接访问非静态成员的规则,因为静态方法与类关联,而非静态成员与对象关联。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

◉ 变量分类

① 局部变量(在方法体中声明)

② 成员变量(在方法体外声明)
—— 1. 实例变量(无static修饰)
—— 2. 类变量 [也称静态变量](有static修饰)

◉ 变量总结


# 局部变量

① 在方法体中声明
② 存放在栈内存
③ 当方法执行时创建,执行完毕后被销毁
④ 访问修饰符不能用于局部变量
⑤ 没有默认值,被声明后必须经过初始化才可以使用


# 实例变量

① 也称 “对象变量” ,在类体中、方法体外声明
② 存放在对象对应的那块堆内存
③ 当对象创建时创建,对象被销毁时销毁
④ 必须创建对象后才能访问,不创建对象该变量没有内存空间不能访问
⑤ 对象创建后可使用“引用.实例变量名”访问
⑥ 实例变量可以声明在使用前或者使用后,在整个类内部是可访问的,而不管实例变量声明在类的哪个位置
⑦ 具有默认值,一切向0看齐
(数值型变量默认值为0,布尔型变量默认值为false, 引用型变量默认值为null)


类变量

① 也称静态变量,在类体中,方法体外声明,用static修饰
② 存储在静态存储区(方法区)
③ 在类在第一次被访问时创建,程序结束时销毁
④ 可以直接使用 “类名.静态成员名” 访问,而不用创建对象
⑤ 默认值与实例变量一样向0看齐
⑥ 类变量被所有对象共享

◉ 变量注意点


局部变量不能加访问修饰符

在这里插入图片描述

因为访问修饰符是为了添加限制,而“局部”本身就是一种限制了,只能在局部使用,所以不能再加访问修饰符


在static的方法中,不可以调用非static的变量和方法。

在这里插入图片描述

原因是非static方法和变量是与对象联系在一起的,必须有对象才能用。

而static方法在没有创建对象时也能调用,如果static方法内调用非static方法和变量,那到底是哪个对象的无法确定,甚至没有对象


鸟兽虫鱼,日月繁星(寒冰小澈)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寒冰小澈IceClean

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值