- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
                        查看更多
                        
                    
                JavaEE基础教程第5章 类的高级特性ppt60
                    static 关键字用来声明静态变量和静态方法。例如: class  MyClass { static  int i;   static  void increase(){ i ++; } } 静态变量和静态方法为类中所有对象所共有,可以不创建对象,直接引用。也称为类变量和类方法。 引用方式:类名.静态变量/静态方法,如: MyClass.i; MyClass.increase(); 如果在声明时不用static 关键字修饰,则为实例变量和实例方法。 一个类通过使用new运算符可以创建多个不同的对象,这些对象将被分配不同的内存空间,准确地说就是不同的对象的实例变量将被分配不同的内存空间,如果类中的成员变量有类变量,那么所有的对象的这个类变量都分配给相同的一处内存。也就是说对象共享类变量,改变其中一个对象的这个类变量会影响其它对象的这个类变量。 静态变量可以通过类名直接访问,也可以通过对象来调用。采用这两种方法取得的结果是相同的。如果是public静态变量,则其它类可以不通过实例化访问它们。 类方法不能访问实例变量,只能访问类变量。类方法可以由类名直接调用,也可由实例对象进行调用。类方法中不能使用this或super关键字。  对于实例变量必须先生成实例对象,通过该对象访问实例变量。实例方法可以对当前对象的实例变量进行操作,也可以对类变量进行操作,实例方法由实例对象调用。 下面的代码及图5.1说明了实例变量与静态变量关系。 class ABCD {      char data;         static int st_data;  } class Demo {       ABCD  a,b,c,d } 例5-1  关于实例成员和类成员的例子。 程序清单:ch05\MemberTest.java package ch05; class Member { static int classVar; int instanceVar; static void setClassVar(int i) { classVar=i; // instanceVar=i; // 类方法不能访问实例变量 } static int getClassVar(){  return classVar;  } void setInstanceVar(int i){   classVar=i; //实例方法不但可以访问类变量,也可以实例变量 instanceVar=i; } int getInstanceVar( ) {   return instanceVar;  } } public class MemberTest{ public static void main(String[] args) { Member m1=new Member(); Member m2=new Member(); m1.setClassVar(1); m2.setClassVar(2);  System.out.println(m1.classVar=+m1.getClassVar()+  m2.ClassVar=+m2.getClassVar()); m1.setInstanceVar(11);  m2.setInstanceVar(22); System.out.println(m1.InstanceVar=+m1.getInstanceVar()+  m2.InstanceVar=+m2.getInstanceVar()); } }  分析一个不正确的变量引用实例: class StaticError{   String mystring=“hello”;  //实例变量      public static void main(String[] args) {          System.out.println(mystring);  //静态方法访问实例变量出错 } } 错误信息:can’t make a static reference to nonstatic variable。因为只有对象的方法可以访问对象的变量。 解决的办法: 1. 将实例变量mystring改为类变量: class StaticError{     static String mystring=“hello”;     public static void main(String[] args) {          System.out.println(mystring); } } 2.将实例变量mystring改为局部变量: class NoStaticError{       public static void main(String[] args) {   String m
                您可能关注的文档
- 先进的健康检查模块.pdf
- 先驱公司财务报表编制情况的审阅报告.pdf
- 网上银行的模式与发展建议pdf62.pdf
- 给水泵站的工艺设计和土建要求.ppt
- 光スイッチルタ技.pdf
- 光在晶体中的传播2 圆偏振光和椭圆偏 振光的获得和检验.ppt
- 移动IP的应用与移动互联网.ppt
- 光大期市宏观黄金日报 光大期货研究报告 品种 报告类别 商品期货 宏观.doc
- 光大期货专题研究报告.pdf
- 光大期货每日要闻点评.doc
- JavaEE基础教程第4章 类与对象的基本概念ppt113.ppt
- JavaEE基础教程第2章 Java编程基础ppt117.ppt
- 全国民航工作会议确定2009年总体要求和目标根据中央对2009年经济工作.doc
- JavaEE基础教程第6章 常用类库ppt46.ppt
- Java与UML面向对象程序设计(概述、用例图)ppt51.ppt
- Java 2实用教程(第三版)字符串、时间、日期和数字 ppt31.ppt
- Java技术及其应用(上)ppt145.ppt
- 全国流行性脑脊髓膜炎监测点工作手册.doc
- Java基础及应用教程(上)ppt210.ppt
- Java程序设计 (第2版)上ppt150.ppt
 原创力文档
原创力文档 
                        

文档评论(0)