版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
经典word整理文档,仅参考,双击此处可删除页眉页脚。本资料属于网络整理,如有侵权,请联系删除,谢谢!实验四面向对象基础编程一、实验目的1.掌握类的定义和生成机制2.了解构造函数的作用二、实验要求1.简单类的定义。2.对象创建和使用。3.访问控制修饰符的作用。4.掌握静态属性、方法和初始化器的特点。三、实验内容一.创建对象new构造函数(构造方法参数列表)二.使用修饰符常用的修饰符如下。[public][private][protected][package][static][final][transient][volatile]不同修饰符的访问控制权限如表4.1所示。表4.1三.方法中参数传递的练习在其它语言中,函数调用或过程调用时参数有传值调用和传地址调用之分。在Java中,方法中的参数传递可以分为传值调用或对象方法调用等方式。传值调用即传递的参数是基本数据类型,调用方法时在方法中将不能改变参数的值,1.编写一个传值调用的程序文件TestParamTransfer1.java。(1x和y赋一个初值10调用方式调用方法ff1对x和y做乘方及输出x和y出x和y的乘方值。(2)程序源代码如下。classTestParamTransfer1{publicstaticvoidmain(String[]args){intx=10,y=10;ff1(x,y);System.out.println("x="+x+",y="+y);}staticvoidff1(intpassX,intpassY){passX=passX*passX;passY=passY*passY;System.out.println("passX="+passX+",passY="+passY);}}(3)编译TestParamTransfer1.java,其运行结果如图4.2所示。图4.2(4)分析其运行结果ff1ff1passX和passYx和y的值被传递给这两个参数。尽管在方法中计算了参数的平方,但从ff1方法返回后,参数消失,此时x和y的值仍是初值。2.编写一个调用对象方法的程序文件TestParamTransfer2.java。(1)程序功能:通过调用对象的方法在方法调用后修改了成员变量的值。(2)TestParamTransfer2.java程序源代码如下。classTestParamTransfer1{publicstaticvoidmain(String[]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);}}(3)编译LX3_6.java,其运行结果如图4.3所示。图4.33.一个Fan有自己的品牌和型号,其功能有startstopspeedstart和stop可以改变Fan的状态status(on/off)speed可以调整Fan级在0123FanpublicclassFan{privateStringband;privateStringtype;privateStringstatus;privateintspeed;publicFan(Stringband,Stringtype,Stringstatus,intspeed){this.band=band;this.type=type;this.status=status;this.speed=speed;}publicStringstart(){returnstatus;}publicStringstop(){returnstatus;}publicvoidspeed(inta){this.speed=a;}publicstaticvoidmain(String[]args){Fant=newFan("ss","dd","off",1);System.out.printf("%s,%s,%b,%d",t.band,t.type,t.status,t.speed);}四、实验作业1、在圆柱体类Cylinder中,利用方法重载来设置成员变量。classCylinder{privatedoubleradius;privateintheight;privatedoublepi=3.14;privateStringcolor;publicdoublesetCylinder(doubler,inth)//重载方法{radius=r;height=h;returnr+h;}publicvoidsetCylinder(Stringstr)//重载方法{color=str;}publicvoidshow(){System.out.println("圆柱的颜色为:"+color);}doublearea(){returnpi*radius*radius;}doublevolume(){returnarea()*height;}}publicclassApp7_3//定义主类{publicstaticvoidmain(String[]args){doubler_h;Cylindervolu=newCylinder();r_h=volu.setCylinder(2.5,5);//设置圆柱的底半径和高volu.setCylinder("红色");//设置圆柱的颜色System.out.println("圆柱底半径和高之和="+r_h);System.out.println("圆柱体体积="+volu.volume());volu.show();}}2、创建圆柱体类Cylinder,并在该类的一个构造方法内调用另一个私有的构造方法。//filename:App7_7.java公共构造方法与私有构造方法classCylinder{//定义类Cylinderprivatedoubleradius;privateintheight;privatedoublepi=3.14;Stringcolor;privateCylinder()//定义私有的构造方法{System.out.println("无参构造方法被调用了");}publicCylinder(doubler,inth,Stringstr)//定义有三个参数的构造方法{this();//在公共构造方法中用this关键字来调用另一构造方法radius=r;height=h;color=str;}publicvoidshow(){System.out.println("圆柱底半径为:"+radius);System.out.println("圆柱体的高为:"+height);System.out.println("圆柱的颜色为:"+color);}doublearea(){returnpi*radius*radius;}doublevolume(){returnarea()*height;}}publicclassApp7_7//主类{publi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年物流园区运营管理承包合同模板3篇
- 社区劳动保障工作总结范文三篇
- 甲醇课程设计
- 简单的vhdl课程设计
- 机电毕业课程设计书
- 物流园消防培训课程设计
- 简单网课程设计
- 输变电工程施工合同(2020版)
- 纪念方法微课程设计
- 市场部门拓展新市场并提升品牌影响力
- 常用截面惯性矩与截面系数的计算
- 行车工考试试题
- 小儿头皮静脉输液课件
- 宇电温控器ai 500 501用户手册s 6中文说明书
- 电力电缆高频局放试验报告
- 肺病科主任年度述职汇报
- 2023年福建省晋江市数学七年级第一学期期末学业质量监测试题含解析
- 水利水电工程基础坑隐蔽工程验收证书
- 余热发电工程总施工组织设计方案
- 建设工程监理费计算器(免费)
- 希望点-列举法
评论
0/150
提交评论