欢迎来到天天文库
浏览记录
ID:8817939
大小:86.00 KB
页数:5页
时间:2018-04-08
《《java语言程序设计》上机实验指导手册》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、《Java语言程序设计》上机实验指导手册(5)5实验五Java面向对象编程(2)【目的】①方法中参数传递的理解。②理解继承的含义。③理解方法的重载。【内容】1.方法中参数传递---传值调用。编写一个传值调用的程序。²实验要求:程序首先给整型变量x和y赋一个初值10,然后使用传值调用方式调用方法ff1对x和y做乘方及输出x和y的乘方值。¨编译源程序¨分析其运行结果2.方法中参数传递---调用对象方法。编写一个调用对象方法的程序。²实验要求:通过调用对象的方法在方法调用后修改了成员变量的值。¨程序源代码如下。classKY3_6{publicstaticvoidmain(Stri
2、ng[]args){Powerp=newPower();p.ff2(10,10);System.out.println("方法调用后x="+p.x+",y="+p.y);}}classPower{intx=10,y=10;voidff2(intpassX,intpassY){System.out.println("初始时x="+x+",y="+y);x=passX*passX;y=passY*passY;System.out.println("方法调用中x="+x+",y="+y);}}¨分析其运行结果以上两个实验例子仅仅是为了说明Java编程中参数传递时要注意的问题,在实际
3、编程中是不可取的,因为完全可以采用其它更好的方法来实现参数的传递。思考:方法的参数传递有哪些方式?区别是什么?53.类的继承。(1)首先预测下列程序的运行结果,然后编译、执行以验证你的预测:classPet{protectedStringname;publicPet(Stringn){name=n;}publicStringgetName(){returnname;}publicStringmove(){return"run";}publicStringspeak(){return"";}publicStringtoString(){return"Mypet"+name;}}
4、classDogextendsPet{protectedintweight;publicDog(Strings){super(s);}}classJLab0501{publicstaticvoidmain(String[]args){PetmyPet=newPet("George");DogmyDog=newDog("Spot");System.out.println(myPet.toString()+""+"Speak:"+myPet.speak()+""+myPet.move()+""+myPet.getName()+"");System.out.printl
5、n(myDog.toString()+""+"Speak:"+myDog.speak()+""+myDog.move()+""+myDog.getName()+"");}}(2)修改Dog类的构造函数,使之可以初始化Dog类中的weight值。(3)在Dog类中添加方法getWeight以获得其weight值。(4)修改类JLab0501,使用新的构造函数创建一个名为“snoopy”,重为10的Dog类的对象,并利用其方法输出包括重量在内的各项值。5(1)要使Dog类对象的speak()方法返回值为“WoofWoof”,应如何做?修改(1)中程序,并验证你的做法。
6、4.方法的重载。(1)首先预测下列程序的运行结果,然后编译、执行以验证你的预测:publicclassJLab0502{publicstaticvoidtest(){System.out.println("test()invoked");}publicstaticinttest(inti){System.out.println("test("+i+")invoked");returni;}publicstaticStringtest(Strings){System.out.println("test("+s+")invoked");returns;}publicstaticv
7、oidtest(Strings,inti){System.out.println("test("+s+","+i+")invoked");}publicstaticvoidtest(inti,Strings){System.out.println("test("+i+","+s+")invoked");}publicstaticvoidmain(String[]args){test();test(100);test("test");test("test",100);test(100,"test");}}
此文档下载收益归作者所有