ImageVerifierCode 换一换
格式:DOC , 页数:3 ,大小:18.50KB ,
资源ID:6993854      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-6993854.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(变量的有效范围.doc)为本站会员(kpmy5893)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

变量的有效范围.doc

1、变量的有效范围变量的有效范围是指程序代码能够访问该变量的区域,若超出该区域访问变量,则编译时会出现错误。有效范围决定了变量的生命周期,变量的生命周期是指从声明一个变量并分配内存空间开始,到释放该变量并清除所占用的内存空间结束。进行变量声明的位置,决定了变量的有效范围,根据有效范围的不同,可以将变量分为以下两种。成员变量:在类中声明,在整个类中有效。局部变量:在方法内或方法内的某代码块(方法内部, “”与“”之间的代码)中声明的变量。在代码块声明的变量,只在当前代码块中有效;在代码块外、方法内声明的变量在整个方法内都有效。下面先来通过如下代码初步了解成员变量和局部变量的声明及使用范围。publi

2、c class Olympics private int medal_All=800; /成员变量public void China()int medal_CN=100; /方法的局部变量if(true) /代码块int gold=50; /代码块的局部变量medal_CN+=50; /允许访问medal_All-=150; /允许访问gold=100; /编译出错medal_CN+=100; /允许访问medal_All-=200; /允许访问public void Other()medal_All=800; /允许访问medal_CN=100; /编译出错, 不能访问其他方法中的局部变量g

3、old=10; /编译出错1成员变量类的成员变量又可分为两种:静态变量和实例变量。静态变量是指通过 static 关键字进行修饰的成员变量,没有被 static 关键字修饰的变量为实例变量。它们的区别如下。静态变量的有效范围是整个类,并且可以被类的所有实例共享。可以通过“类名.变量名”的方式来访问静态变量。静态变量的生命周期取决于类的生命周期,当类被加载时,为类中的静态变量分配内存空间,当卸载类时,释放静态变量占用的空间,静态变量被销毁。类加载时,就为静态变量分配内了存空间,之后无论创建了多少类的实例,都不会再为静态变量分配内存空间,这些实例会使用同一个静态变量。实例变量与类的实例对应,它的有

4、效范围是整个实例。每创建一个类的实例,都会为当前实例分配实例变量的内存空间。所以实例变量的生命周期取决于实例的生命周期,实例被创建时,为实例变量分配内存空间,当销毁实例时,释放实例变量占用的内存空间。下面通过代码及图 2.1 来介绍静态变量与实例变量的区别。先来创建一个类,并声明一个实例变量和一个静态变量,代码如下:public class Studentpublic static int amount=100; /声明一个静态变量 amountpublic int age=24; /声明一个实例变量 age然后创建 Student 类的两个实例,代码如下:Student st1=new St

5、udent();Student st2=new Student();下面分别通过引用变量 st1 和 st2,来修改各自所引用实例中的实例变量 age,并通过 st2 引用变量来修改静态变量 amount,代码如下:st1.age+=2;st2.age+=3;st2.amount+=100; /或通过类名进行访问: Student.amount+=1002局部变量在类的方法中声明的变量,包括方法的参数,都属于局部变量,它们只在当前的方法内有效,不能用于类的其他方法中。在方法的代码块中声明的变量也是局部变量,但它只在该代码块内有效。局部变量的生命周期取决于方法,当方法被调用时,Java 虚拟机为

6、方法中的局部变量分配内存空间,当方法的调用结束后,则释放该方法中局部变量占用的内存空间,局部变量被销毁。可以声明一个与成员变量同名称的局部变量,此时在方法中访问该变量,针对的是方法中的局部变量;否则若没有在方法中声明与成员变量同名称的局部变量,在方法中访问该变量时针对的是成员变量。例如:public class Accessprivate int times=3;private static int order=2;public static void main(String args) int times=5;System.out.println(times); /输出结果为: 5Syste

7、m.out.println(order); /输出结果为: 2在声明及访问局部变量时,需要注意以下两点。在声明时,不能使用 public、protected 、private 和 static 关键字对局部变量进行修饰。不能通过类名或引用变量来访问局部变量。java 实例变量和类变量首先要知道 java 的成员变量分为: 实例变量和类变量(也就是 static 变量).当 JAVA 程序执行时,类的字节码文件就被加载到内存 ,如果该类没有创建对象,类的实例成员变量不会被分配内存,但是类中的类变量在类被加载到内存的时候,就分配了相应的内存空间.如果该类创建对象,那么不同的实例变量互不相同,即分配

8、不同的内存空间,而类变量不再重新分配,所有的对象共享类变量,即所有的对象的类变量是相同的一处内存空间,类变量的内空空间至于什么时候释放内存空间,这是大家想知道的,那么我告诉大家,类变量的内存空间直到程序退出运行,才会释放所占有的内存.其实说到这里,我们应该再随便说下类的方法,类的方法也分实例方法和类方法,那么有谁能告诉我实例方法和类方法有什么区别么?是这样的,类的实例方法是在只有类创建对象的时候才会被分配入口地址,而类方法,是当程序的字节码文件加载到内存就马上分配入口地址,这就是为什么实例方法可以调用类方法,而类方法不能调用实例方法的原因,也是类方法为什么不可以操作实例变量而实例方法可以操作类变量的原因(想想谁的入口地址先分配 ).那么有人会问 ,当我在创建一个对象的时候,实例方法和类方法是不是会被再次分配入口地址?其实不然,当你再创建一个对象时,实例方法是不会再分配入口地址的,也就是说,方法的入口地址是被所有对象共享的.类方法一开始就分配了入口地址,也不会再分配入口地址.讲到这里,也许有人还会问,那么方法的入口地址是什么时候才会被取消的呢?是这样的,类方法是直到程序退出运行才会被取消入口地址,而实例方法就不一样了,实例方法是当所有对象都不存在的时候,入口地址才被取消.

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报