- 1、本文档共2页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Static关键字 一、不建立对象即想使用的两种实际情况。程序员可能希望在没有创建对象的时候就能够为某个特定的成员分配存储空间或者可以调用某个方法等等。在Java中能否实现这个需求呢? 笔者提到的这个问题是否是无中生有呢?其实不然。在实际应用程序开发中,就经常会遇到这种情况。如现在需要三个对象,分别用来计算圆的面积、圆球的体积、圆柱的体积。在这三个对象的方法中,都需要用到一个叫做圆周率的常量,而且这个圆周率是固定不变的。所以,在程序开发中,对于这些公用的成员变量最好能够统一管理。当调整成员变量的精度时,其运算结果的精度也会随之调整。从程序员的角度来看,这就是要求在没有创建对象之前就要给成员变量分配存储空间,以方便其他的类可以因用这个变量。而这个需求如果没有Statci关键字的话就无法实现。 第二种情况就是程序员可能希望某个方法不予包含它的类的任何对象关联在一起。这个读起来可能有点拗口。简单的说,就是即使没有使用new关键字创建对象的情况下,程序员仍然能够调用这个方法。也java认证更多详细资料就是说,在创建类的时候就需要为这个方法分配存储空间。就好像造汽车时,在做汽车设计图纸时就需要把发动机准备好。那么即使汽车还没造好,这个发动起也可以先拿来看看。此时也需要采用Static关键字来完成这个需求。二、Static关键字的用途。 简单的说,Static关键字的用途就是在创建类的时候就给特定的成员或者方法分配存储空间。当程序员在成员变量或者方法前面加上Static 关键字时,就表示这些成员与方法不会与包含它的那个类的任何对象实例关联在一起。换一句话就是说,即使没有创建这个类的对象,程序员仍然可以调用这个类中的成员或者方法。因为他们实际上已经存在,系统已经为他们分配了存储空间。不过需要注意的是,Static关键字定义的成员与方法,毕竟与传统的对象创建方法有所差异。所以无论是在定义时还是在具体的引用过程中,都有所差异。程序开发人员必须了解这种差异,并在实际的工作中要引起重视。特别是如果有其他语言开发经验的程序员,不要将Java语言的这个特性与其他语言搞混,否则的话很容易出现错误。 三、利用Static关键字来定义成员变量。 如上面那个案例中,需要定义一个类,然后在这个类中需要用到一个叫做圆周率的成员。如果我们将这个成员命名为pi,则这个类可以按照下面的方法定义成员变量。Class circle{? Static float pi=3.14 } 这个类的定义跟其他类最大的不同,就是在成员变量前面加了一个 static关键字。此时就将这个成员变量设置为了staitc状态。其实在创建这个类的时候,系统就为其分配了一份存储空间。而不是在创建对象的时候再创建的。也就是说,现在就将这个成员变量跟包含它的类独立出来。在这种情况下,如果利用new关键字来创建对象,那么这个成员变量都是指向同一个。即程序员如果利用这个类创建三个对象时,其成员变量pi都指向同一个存储空间。为此不同对象内的成员变量pi的值都是相同的,因为其实际上都指的是同一东西。所以说,要统一多个对象中成员变量的值是非常简单的。只需要在定义类的时候,在这个成员变量的前面加上关键字static即可。? 那么该如何引用这个成员变量呢?据笔者所知,现在主要有两种引用的方法。不过笔者只用其中的一种。第一种方式就是跟传统的引用方式相同。也就是说,第一步是创建类(根据需要可以在某个成员变量前面利用static关键字加以修饰),第二步是创建对象,第三步就是通过对象来引用成员变量。引用的格式就是对象名.成员变量。这种方法就是比较传统的方法,通过对象去定位成员变量。很明显,如果采用这种方法的话,在代码中就不能够体现这个成员变量到底是static变量呢,还是非static变量。所以说这会给程序员阅读代码带来麻烦。 第二种方法是直接通过类来调用。也就说可以通过类名.成员变量的形式来加以调用。各位读者知道为什么可以以这种形式加以调用呢?这主要是因为,根据这个类创建的对象,只要成员变量采用了关键字static修饰,他们他们指向的都是同一个变量。即系统只为他们分配了一份存储空间。所以只通过类名就可以唯一的关联到这个静态的成员变量。而如果没有利用static关键字修饰的成员变量就不行。因为此时根据这个类创建的多个对象,其内部的成员变量是各自独立的,也就是说每个对象内部的成员变量都有一个对应的存储位置。所以说,如果一个类有多个对象,那么就不能够通过对象直接关联到变量对应的存储位置了。系统不知道这个类对应的对象到底是哪个,即存在一对多的情况。而采用了static关键字修饰的变量,无论有多少个对象,其都是一对一的关系。所以,可以通过类名.成员变量名的方式来直接引用这个成员变量。 虽然两种方法都可以实现对s
您可能关注的文档
- QuartusIIMagefunction说明.docx
- Q个性称昵网名大全.doc
- Rank不高如何获得StanfordPhdFellowship.docx
- RedHatLinux常用命令.doc
- Regex.IsMatch方法.docx
- REL2304V实验室冰箱.doc
- ResearchintoPopulationGenetics对人种遗传学的研究.doc
- RG防水涂料防水技术.doc
- Rkdsfc男生取个法语名字.doc
- rm命令删除的文件恢复方法.doc
- 吉安县公开招聘专职文明实践员笔试备考试题及答案解析.docx
- 2025重庆枫叶国际学校招聘教师笔试备考试题及答案解析.docx
- 游机队电玩自制联网教程-tplink.pdf
- 2025重庆新华出版集团招聘1人笔试模拟试题及答案解析.docx
- 2025宜宾高新丽雅城市产业发展有限公司公开招聘笔试模拟试题及答案解析.docx
- 2025云南保山市龙陵县勐糯镇人民政府招聘合同制专职消防员1人笔试模拟试题及答案解析.docx
- 11.1生活中常见的盐 九年级化学人教版下册.pptx
- 6.1法律保护下的婚姻 高二政治《法律与生活》课件(统编版选择性必修2)(新版).pptx
- 文昌市中小学教师校园招聘29人笔试模拟试题及答案解析.docx
- 10.1.5 常见的酸和碱(第5课时)课件-九年级化学人教版下册.pptx
文档评论(0)