欢迎来到天天文库
浏览记录
ID:32658439
大小:80.52 KB
页数:8页
时间:2019-02-14
《static的使用方法及测试》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、今天在某个代码里看到静态域的使用,出于学习的目的,专门对static相关的内容(静态类、方法、变量、域,以及非静态的)进行测试废话不多说,上代码:主类StaticTest.javaJava代码'.publicclassStaticTestextendsfatherClass{2.//初始化时,可以直接调用静态成员,以及同类的非静态成员o•4.//静态变量初始化时不能引用非静态成员5.rpublicstaticintstaticVar=newAssistC丄ass()•getNum2();0•7.//静态域与静态变量初始化具有相同的优先级8.s
2、tatic!9.staticVar++;10.System.out•printin(nstaticblock1');11.12.//域中可以定义变量以及类,不能定义方法,并且只是在域中使用13.//彳、能帯冇publicprotectedprivate标刀£符14.intvar2=3;15.classNSC2{16.inti=2;17.}18.//System.out.printin(newNSC2().i);19.20.//不允许定义静态变量和静态类21.//!staticintstaticVar2;22.//!staticclassS
3、C2{}23.24.}25-publicintvar=newAssistClass().getNum();26.publicintvar2=fun3();27.28.publicStaticTest(){29.System.out.printin("constructor”);30.}31.32.//非静态域与非静态变量初始化具有相同的优先级33.{34.//静态域可以访问所属类的静态35.var++;36.staticVar++;37.System,out.printin(nnotstaticblock1');}publicvoidfun(
4、){//非静态方法可以直接调用静态和非静态成员staticVar=l;staticFun();fun2();}publicvoidfun2(){}publicintfun3(){return3;}publicstaticvoidstaticFun(){//静态方法不能直接调用非静态成员//需要:1.实例化2.改为静态//!fun2();System.out.printin(nsatticmethod0);}publicstaticintstaticFun2(){System.out.printin(nstaticfieldinitn);ret
5、urn2;}publicstaticintstaticFun3(){System.out.printin(,fnotstaticfieldinitn);return3;}/★先*@paramargs*///静态方法在第一次执行时会先执行静态初始化和静态域//构造方法可以认为是舲态方法//每次实例化都会执行一次非騎态初始化和非静态域publicstaticvoidmain(String[)args){//TODOAuto-generatedmethodstub81.//staticFun();82.83.//newStaticTest();83
6、•newStaticTest();85-86.//System.out.printin(st.var+f,&”+st.var2+n&N+staticVar);87.}88.88.//结论:静态成员可以被直接调用,非静态成员则需经实例化(但可以被同类的非静态成员调用)89.}辅助类AssistClass.javaJava代码1.publicclassAssistClass{2.inti=l;3.4.publicintgetNum(){5.System.out.printIn(nnotstaticfieldinitn);6.return4;7.}
7、8.9.publicintgetNum2(){10.System.out.printin(”staticfieldinitn);11.return5;12.}13.14.publicintgetNum3(){15.System.out.printIn(nfatherstaticfieldinitn);16.return5;17.}18.19.publicintgetNum4(){20.System.out.printin(nfathernotstaticfieldinitn);21.return5;22.}23.24.publicstatic
8、voidmain(Stringl]args){25.//静态方法在第一次执行时会先执行静态初始化和静态域26.//构造方法可以认为是静态方法27.//每次实例化都会
此文档下载收益归作者所有