欢迎来到天天文库
浏览记录
ID:29737774
大小:22.24 KB
页数:19页
时间:2018-12-22
《java语言程序设计,补充材料》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划java语言程序设计,补充材料 专接本辅导java第三章《面向对象编程基础》补充0.类变量与实例变量区别 java类的成员变量有两种:一种是被static关键字修饰的变量,叫类变量或者静态变量;另一种没有static修饰,为实例变量。 在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。 在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也
2、称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。 例如,对于下面的程序,无论创建多少个实例对象,只在类被第一次装置时初始化一次staticVar变量和sum变量,并且每创建一个实例对象,就会执行一次构造函数;但是,每创建一个实例对象,就会分配一个instanceVar,即可能分配多个instanceVar,并且每个instanceVar的值都只自加了1次。目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专
3、业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 publicclass类变量与实例变量 { publicstaticintstaticVar=0;//类变量初始化,只会在类装载时进行一次!! publicintinstanceVar=0;//实例变量初始化 publicstaticintsum=1; public类变量与实例变量()//构造方法 { staticVar++; instanceVar++; sum=sum+5; ("staticVar "+staticV
4、ar+",instanceVar="+instanceVar); ("sum="+sum); } publicstaticvoidmain(String[]args){ 类变量与实例变量对象1=new类变量与实例变量(); 类变量与实例变量对象2=new类变量与实例变量(); 类变量与实例变量对象3=new类变量与实例变量(); } }运行结果: staticVar=1,instanceVar=1目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、
5、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 sum=6 staticVar=2,instanceVar=1 sum=11 staticVar=3,instanceVar=1 sum=16 再如下面的程序,涉及static块: classValue{= staticintc=0;staticintd;Value(){ c=15;d=65; } Value(inti){ c=i;d=c-1; } staticvoidinc(){ c++; } } publicclassCount{ Valuev0=newValue();//调用无参构造函数建
6、立Value类非静态对象v0,类Count和类Value是has-a关系目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 Valuev=newValue(10);//调用有参构造函数建立Value类非静态对象vstaticValuev1,v2;//声明Value类的static对象v1,v2 //staticValuev1=newValue(),v2=newValue();//声明v1、v2并引用新建
7、立的Value类对象 static{//★声明static块,其初始化工作会先于任何其它非static块及非static变量而不管其在源程序书写中出现的先后次序! ("static块中println语句执行结果:"+""+"v0和v是非静态内部类对象,v1和v2是静态内部类对象,只有声明没有具体指向某对象时:="++"="++"="++"="+); v1=newValue(30);//对象v1引用新
此文档下载收益归作者所有