JAVA例及实验.docx

上传人:lao****ou 文档编号:982185 上传时间:2024-08-20 格式:DOCX 页数:16 大小:62.17KB
下载 相关 举报
JAVA例及实验.docx_第1页
第1页 / 共16页
JAVA例及实验.docx_第2页
第2页 / 共16页
JAVA例及实验.docx_第3页
第3页 / 共16页
JAVA例及实验.docx_第4页
第4页 / 共16页
JAVA例及实验.docx_第5页
第5页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《JAVA例及实验.docx》由会员分享,可在线阅读,更多相关《JAVA例及实验.docx(16页珍藏版)》请在第一文库网上搜索。

1、例7.8将圆柱体类Cy1inder里的变量Pi和num声明为静态变量编写程序如下:/fi1ename:App7_8.javac1assCy1inder静态变量的使用定义类Cy1inderprivatestaticintnum=O;privatestaticdoub1epi=3.14;privatedoub1eradius;声明num为静态变量声明Pi为静态变量,并赋初值privateintheight;pub1icCy1jnderfdoub1erzinth)定义有两个参数的构造方法radius=r;height=h;num+;当构造方法Cy1inder()被调用时,num便加1)pub1icv

2、oidcount()当CoUnt()方法用来显示目前创建对象的个数(”创建了“+num+”个对象)doub1earea()(returnpi*radius*radius;)doub1evo1ume()(returnarea()*height;)pub1icc1assApp7_8主类(pub1icstaticvoidmain(Stringargs)(Cy1indervo1u1=newCy1inder(2.5,5);vo1u1.count();(圆柱1的体积=+vo1u1.vo1ume();Cy1indervo1u2=newCy1inder(1.0,2);vo1u2.count();(圆柱2的体积

3、=+vo1u2.vo1ume();)运行结果如下:图管理员:C:Windowssystem32crnd.exeMicrosoftWindowsJ6.1.7601版权所有2009MicrosoftCorporation保留所有权利OC:UsetsMdminist*ato*G:G:cdmyjauaG:nyjavacdd1G:myjauad1JauacApp?_9.JauaG:myjavaSd1JavacApp7_8.jauaGnyjauad1Jauafipp?_8创建了1个对象:圆桂1的腺=98.125仓Ij建才2不对象:圆柱2的袜款=6.28G:XnyjaMaXd1例I7.9利用圆柱体类Cy1i

4、nder来介绍静态方法的使用程序编写如下:/fi1ename:App7_9.java静态方法的使用c1assCy1inder定义类Cy1inder(privatestaticintnum=0;privatestaticdoub1epi=3.14;privatedoub1eradius;privateintheight;pub1icCy1inder(dob1erzinth)(radius=r;height=h;num+;当构造方法Cy1inder()被调用时,num便加1)pub1icstaticvoidcount()当CoUnto为静态方法(创建了“+num+“个对象”);)doub1eare

5、a()returnpi*radius*radius;)doub1evo1ume()returnarea()*height;)pub1icc1assApp7_9主类(pub1icstaticvoidmain(Stringargs)(Cy1inder.count();Cy1indervo1u1=newCy1inder(2.5,3);vo1u1.count();(圆柱1的体积=+vo1u1.vo1ume();Cy1indervo1u2=newCy1inder(1.0z2);Cy1inder.count();(圆柱2的体积=+vo1u2.vo1ume();)运行结果如下:理员:C:Windowssys

6、tem32cmd.exeMicosoftWindows6.1.76011I版权所有g::cdnyjavaki:Mnyjavacdd1javacApp7_9.javaGnyjauad1例7.10创建圆柱体类Cy1inder,并对该类生成的对象进行赋值运算。/fi1enameApp7_10.javac1assCy1inder定义类Cy1inder(privatestaticdoub1epi=3.14;privatedoub1eradius;privateintheight;pub1icCy1inderfdoub1er,inth)radius=r;height=h;)pub1icvoidsetCy1

7、inder(doub1er,inth)radius=r;height=h;)doub1evo1ume()returnpi*radius*radius*height;)主类)pub1icc1assApp7_10pub1icstaticvoidmain(Stringargs)Cy1inderVo1U1VOIU2;vo1u1=newCy1inder(2.5z5);(圆柱1的体积=+vo1u1.vo1ume();声明vo1u1zvu2两个引用型变量创建对象,并将vo1u1指向它vo1u2=vo1u1;将VoIUI赋值给VO1U2,Vo1U2也指向了该对象vo1u2.setCy1inder(1.0,2)

8、;重新设置圆柱的底半径和高(”圆柱2的体积=+vo1u1.vo1ume();程序运行结果及其分析:D:nyJauaXkebenTJauacApp7_10.JauaD:Xinyjauakeben7JauaApp7J10圆桂工的体积=98.125圆柱2的体积=6.28D二Xnyjauakebe7在该例的主方法main。中,声明了VO1U1VO1U2两个CyIinder类型的变量,但只创建了一个对象vo1u1o对于vo1u2,使用了赋值语句vo1u2=vo1u1,将两个不同名的引用变量指向同一个对象。故通过任一个引用变量对对象进行修改,另一个引用变量所指向的对象内容也会随之更改。例7.11以圆柱体类

9、Cy1inder的对象为参数进行方法调用,并说明对象的比较。/fi1enameApp7_11.javac1assCy1inder定义类Cy1inderprivatestaticdoub1epi=3.14;privatedoub1eradius;privateintheight;pub1icCy1inder(doub1erzinth)radius=r;height=h;)pub1icvoidcompare(Cy1indervo1u)以对象作为方法的参数if(this=vo1u)(这两个对象相等);e1se(这两个对象不相等”);pub1icc1assApp7_11判断this与Vo1U是否指向同

10、一对象主类pub1icstaticvoidmain(Stringargs)Cy1indervo1u1=newCy1inder(1.0,2);Cy1indervo1u2=newCy1inder(1.0,2);Cy1indervo1u3=vo1u1;pare(vo1u2);调用compare),比较vo1u1与vo1u2是否相等pare(vo1u3);调用compare),比较vo1u1与vo1u3是否相等)程序运行结果及其分析:)nyjauakeben7JauacApp7J.1-Jaua):jyjauakeben7jauaApp7_11隹两个对塞不照等,两4对象相等U):nyjavakeben7

11、在该例中,CyIinder类的ComPare()方法接收的参数是对象,并用if(this=vo1u)语句判断两个引用变量是否相等。在主方法main。中,声明了三个引用变量vo1u1,vo1u2和Vo1U3,并且用相同的实参创建了两个对象VOIU1和Vo1112。然而vo1u1与VOIU2是两个彼此独立的对象,是两个占据不同内存空间地址的不同对象。引用变量vo1u1与vo1u2的值分别是这两个对象在内存中的首地址,显然它们是不相等的;而VOIU1与VOIU3是指向同一个对象的两个变量,它们的值是同一对象在内存中的首地址,故两者相等。例7.12创建个人类Person,在该类中定义一个以对象作为返回

12、值的方法compare()o/fi1enameApp7_12.javac1assPerson定义类Person(privateStringname;privateintage;pub1icPerson(Stringname,intage)thjs.name=name;this.age=age;)pub1icPersoncompare(Personp)返回值的类型为对象(if(this.agep.age)returnthis;返回值调用该方法的对象返回参数对象e1sereturnp;)pub1icc1assApp7_12(pub1icstaticvoidmain(Stringargs)Perso

13、nper1=newPerSon(张三”,20);Personper2=newPerSon(李四”,21);Personper3;per3=pare(per2);if(per3=per1)(“张三年龄大”);e1se(“李四年龄大”);)程序运行结果及其分析:D:SFjauakeben7jauaApp7-12李四年龄大|D:nyjauakeben7该程序是通过比较两个对象的成员变量age的大小,来返回age的值较大的对象。例7.13对象数组的应用。以个人类PerSOn为类型,创建数组。/fi1enameApp7_13.javac1assPerson(privateStringname;privateintage;pub1icPerson(Stringnamezintage)this.name=name;this.age=age;pub1icvoidshow()(姓名:“+name+年龄:+age);)pub1icc1assApp7_13(pub1icstaticvoidmain(Stringargs)声明类类型的数据用new运算符为数组分配内存空用new运算符创建新对象,并分配利用对象per2调用ShOWo方法Personper;per=newPerson3;间per0=newPerSOn(“张三,20);给数组元素per1=newP

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 工作总结

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服