【2017年整理】变量的有效范围.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【2017年整理】变量的有效范围

变量的有效范围 变量的有效范围是指程序代码能够访问该变量的区域,若超出该区域访问变量,则编译时会出现错误。有效范围决定了变量的生命周期,变量的生命周期是指从声明一个变量并分配内存空间开始,到释放该变量并清除所占用的内存空间结束。进行变量声明的位置,决定了变量的有效范围,根据有效范围的不同,可以将变量分为以下两种。 成员变量:在类中声明,在整个类中有效。 局部变量:在方法内或方法内的某代码块(方法内部,“{”与“}”之间的代码)中声明的变量。在代码块声明的变量,只在当前代码块中有效;在代码块外、方法内声明的变量在整个方法内都有效。 下面先来通过如下代码初步了解成员变量和局部变量的声明及使用范围。 public 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; //编译出错, 不能访问其他方法中的局部变量 gold=10; //编译出错 } } 1.成员变量 类的成员变量又可分为两种:静态变量和实例变量。静态变量是指通过static关键字进行修饰的成员变量,没有被static关键字修饰的变量为实例变量。它们的区别如下。 静态变量的有效范围是整个类,并且可以被类的所有实例共享。可以通过“类名.变量名”的方式来访问静态变量。静态变量的生命周期取决于类的生命周期,当类被加载时,为类中的静态变量分配内存空间,当卸载类时,释放静态变量占用的空间,静态变量被销毁。类加载时,就为静态变量分配内了存空间,之后无论创建了多少类的实例,都不会再为静态变量分配内存空间,这些实例会使用同一个静态变量。 实例变量与类的实例对应,它的有效范围是整个实例。每创建一个类的实例,都会为当前实例分配实例变量的内存空间。所以实例变量的生命周期取决于实例的生命周期,实例被创建时,为实例变量分配内存空间,当销毁实例时,释放实例变量占用的内存空间。 下面通过代码及图2.1来介绍静态变量与实例变量的区别。 先来创建一个类,并声明一个实例变量和一个静态变量,代码如下: public class Student{ public static int amount=100; //声明一个静态变量amount public int age=24; //声明一个实例变量age } 然后创建Student类的两个实例,代码如下: Student st1=new Student(); Student st2=new Student(); 下面分别通过引用变量st1和st2,来修改各自所引用实例中的实例变量age,并通过st2引用变量来修改静态变量amount,代码如下: st1.age+=2; st2.age+=3; st2.amount+=100; //或通过类名进行访问: Student.amount+=100 2.局部变量 在类的方法中声明的变量,包括方法的参数,都属于局部变量,它们只在当前的方法内有效,不能用于类的其他方法中。在方法的代码块中声明的变量也是局部变量,但它只在该代码块内有效。 局部变量的生命周期取决于方法,当方法被

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档