预览加载中,请您耐心等待几秒...
1/7
2/7
3/7
4/7
5/7
6/7
7/7

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

java学习笔记(四)----对象、数组作为参数传递,静态变量、静态方法的使用,内部类,使用文档注释 2009-10-1520:21 ***对象作为参数传递***classpassparam{intx;publicstaticvoidmain(String[]args){passparamobj=newpassparam();obj.x=5;change(obj);System.out.println(obj.x);//如果change方法不是静态的,想调用它就得写成newpassparam().change(obj);}publicstaticvoidchange(passparamobj)//如果这个函数前面没加static编译出错,因为非静态方法,不能被静态方法直接调用,main 是一个静态方法。{obj.x=3;}}结果:3 ***数组作为参数传递***classpassparam{intx;publicstaticvoidmain(String[]args){passparamobj=newpassparam();int[]x=newint[1];x[0]=5;change(x);System.out.println(x[0]);}publicstaticvoidchange(int[]x){x[0]=3;}}结果:3 ***静态变量、静态方法的使用***静态变量相当于全局变量 classChinese{staticstringcountry="中国";//如果改为privatestaticstringcountry="中国"下面的两处调用,就会出错Stringname;intage;staticvoidsing(){System.out.println("啊~~")voidsingOurCountry(){System.out.println(country);sing();}}classTestChinese{publicstaticvoidmain(String[]args){System.out.println(Chinaese.country);//static静态变量可以直接引用Chinesech1=newChinese();ch1.singOurCountry();System.out.println(ch1.country);Chinese.sing();//静态方法的引用new.Chinese.sing();//用对象引用方法}} --------------------------------classChinese{privatestaticintcount=0;//定义一个静态整形变量static//静态代码块类在第一次使用时,初使化{count=2;//这个类在第一次使用时,count被初使化System.out.println("staticcode")}Stringname;intage;publicChinese(){System.out.println(++count);}}classTestChinese{publicstaticvoidmain(String[]age){System.out.println("staticbegin")newChinese();System.out.println("end")newChinese();newChinese();}}输出结果为staticbeginstaticcode3end45 ------------------------------------**静态方法注意:1、在静态方法里只能直接调用同类中其它的静态成员(包括变量和方法)。这是因为,对于非静态方法和变量,需要先创建类的实例对象后 才可使用,而静态方法在使用前不用创建任何对象。2、静态方法不能以任何方式引用this和super关键字。与上面的的道理一样,因为静态方法在使用前不用创建任何实例对象,当静态方法被 调用时,this所引用的对象根本就没有产生。3、main()方法是静态的,因此JVM在执行main方法时不创建main方法所在类的实例对象,因而在main()方法中,我们不能直接访问该类中的 非静态成员,必须创建该类的一个实例对象后,才能通过这个对象去访问类中的非静态成员。 classB{ publicvoidb(){System.out.print("000");}publicstaticvoide(){}publicvoidc(){b();e();}//类中的非静态方法可以调用该类中的其它非静态方法,和静态方法}classA{publicstaticvoidmain(String[]args){newB().c();}} --------------------