


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验报告三(完整版)作者:日期:名姓场考实验报告三实验三、对象和类(一)1实验目的(1) 结合面向对象思想掌握类的定义以及类中成员的定义,学会设计自己的类。(2) 掌握方法重载、尤其是构造方法的重载,深入理解构造函数的作用与调用时机。(3) 理解this关键字同static关键字的意义,掌握成员变量的具体隐藏实现。(4) 理解对象同对象引用间的区别,掌握创建对象与调用对象成员的方法,以及对象作为 参数与基本数据类型变量做参数的区别。2实验内容和步骤上机输入程序并调试运行程序。编译并运行附件1和附件2,观察结果分析其原因。附录 1 ClassLoadTest.javapackage ch3;pu
2、blic class ClassLoadTeststaticSystem.out.pri ntln ("class lodi ng");public static void main( Stri ng args) 结果:原因:附录 2 PassValueTest.javapackage ch3;public class PassValueTest private int i = -100;public void test1(i nt b) b = 100;public void test2(PassValueTest b) b.i = 100;public void tes
3、t3(PassValueTest b) b = this;public static void main( Stri ng args) PassValueTest obj = new PassValueTest();int temp = 100;obj.test1(temp);System.out.pri ntln (temp);名姓场考obj.test2(obj);System.out.pri ntln(o bj.i);obj.i=100;PassValueTest n ewobj = new PassValueTest();obj.test3( newobj);System.out.pri
4、 ntl n(n ewobj.i);结果:原因:(2) 编译附件3,分析结果;将“注释这行”所在的行注释,再将注释的call2方法去掉注释,再次编译,观察结果分析其原因。附录 3 StaticTest.javapackage ch3;public class StaticTest public static void call1()staticmethod();non staticmethod(); / 注释这行/*public static void call2(StaticTest o1)o1. non staticmethod();StaticTest o2=new StaticTest
5、 ();o2.non staticmethod();*/public void non staticmethod()System.out.println(非静态方法被调用");public static void staticmethod()System.out.println(静态方法被调用");public static void main( Stri ng arg)StaticTest obj=new Test2();StaticTest.call1();StaticTest.call2(obj);结果:原因:double i=c1.getRadius(); c1.g
6、etArea(i);c2.getArea(100);c1.getle ngth(i);c2.getle ngth(100);c1.pri nt();c2.pr in t();double j=c1. radius ;c1. radius=c2. radius ;c2. radius=j;System. out .println( "");c1.pri nt();c2.pr in t();(3)定义一个圆类 Circle,至少具有私有成员变量:radius( double型,用于保存半径)、are( double 型,用于保存面积)、length (double型,用于保存周
7、长),以及成员方法setRadius getRadius(用 于设置、获取半径)、getArea (用于获得面积)、getLength (用于获取周长)、print (打印圆对象 的半径、面积、周长信息)。a)在 main 方法,要求方法中通过“ Circle c1= new Circle(); Circle c2=new Circle(1O0”分别新 建半径为1和半径为100的圆对象,分别打印c1同c2的信息;b)使c2的半径等于c1的半径,使c1的半径等于原c2的半径,分别打印c1同c2的信息;publicclass Circle privatedoubleradius ;privated
8、oublearea ;privatedoublelen gth ;publicCircle() publicCircle(int radius)this.radius=radius;public void setRadius( int i)radius =i;名姓场考public double getRadius()return radius ;public void getArea( double k)area =3.14*k*k;public void getle ngth( double k)len gth=2*3.14*k;public void pr in t()System. ou
9、t .println(“ 圆的半径:"+radius +"t"+"圆的面积"+area +"t"+"圆的周长:"+le ngth);public static void main( Stri ng args)Circle c1= new Circle();Circle c2= new Circle(100);c1.setRadius(1);(4)定义一个日期类 MyDate,至少具有私有成员变量:yea、mo nth、day,以及成员方法setYea、 getYear等 (具体隐藏实现方法,用于设置、获取
10、成员变量)、isRunyear( boolean型,判断当前对 象保存的年是否为闰年)、print (打印日期对象的年 月 日信息)。a)在 ma in 方法,要求方法 中通过 “ MyDate d1= new MyDate(); MyDate d2=newMyDate(2009,4,1”;分别新建年月日为1999年1月1日的日期对象和年月日为 2009年4月1日的 日期对象,分别打印d1同d2的信息;(5)使d2的年等于d1的年,使d1的月等于原d2的月,分别打印d1同d2的信息;import javax.sw in g.Spri ng;public class MyDate private
11、 int year;private int mon th;private int day;public MyDate()public MyDate(i nt year,i nt mon th,i nt day)this.year=year;this.m on th=mo nth;this.day=day;名姓场考public void setYear(i nt i,i nt j,i nt k)year=i;mon th=j;day=k;public double getYear()retur n year;public String isR uny ear(double i) if(i%4=0
12、|i%400=0)return "y"return "n"public void prin t(Stri ng i)System.out.println(year+"年"+month+"月"+day+"日"+"是否闰年"+i); public static void main(String args)MyDate d1= new MyDate();MyDate d2=new MyDate(2009,4,1);d1.setYear(1999,1,1);double i=d1.g
13、etYear();Stri ng k1=d1.isRu nyear(i);Stri ng k2=d2.isRu nyear(2009);d1.pri nt(k1);d2.pri nt(k2);int j=d1.year;d1.year=d2.year;d2.year=j;int j1=d1.m on th;d1.m on th=d2.m on th;d2.m on th=j1;d1.pri nt(k2);d2.pri nt(k1);名姓场考实验三、对象和类(包)1实验目的(1)理解包的意义,学会定义、编译和运行一个包内的类,熟练掌握外部包中具体类和全部类的导入方式,理解包带来的一种新的java
14、访问控制机制。2实验内容和步骤(1) 在 Eclipse集成开发环境中分别新建名 com.yourname.ch3和com.yourname.other的两个 包。(2) 将附件1、附件2、附件3添加到工程中,注意附件1和附件2应该放在名为“com.yourname.ch3的包中,附件 3应放在名为“ com.yourname.othe”的包中。分别调试 3个 源文件,保证都能编译成功。 在附件2、附件3的main方法中添加语句“ Pclass pc=new Pclass();分别编译它们会出 现什么结果,说明什么?结果:说明了: 将附件 3 中的“ Pclass pc=new Pclass(
15、)” 改为 “ com.yourname.ch3.Pclass)c =new com.yourname.ch3.Pclass();再编译会出现什么结果,为什么?用 import 导入包 com.yourname.ch3 后,再改为“ Pclass pc=new Pclass();可否通过编译?结果:为什么: 在附件2、附件3的main方法中继续添加语句“ Dclass dc=new Dclass()”,分别编译它 们会出现什么结果,说明什么?从附件3删除“ Dclass dc=new Dclass”保证附件3能编译通过。结果:说明了: 在附件2、附件3的main方法中继续添加语句“pc.met
16、hod1();',分别编译它们会出现什 么结果,说明什么?结果:说明了: 在附件2、附件3的main方法中继续添加语句:“pc.method1();pc.method2();pc.method3();pc.method4();”分别编译它们会出现什么结果说明什么(仔细分析两个编译结果的不同之处)?删除不可 执行的语句确保保证附件2、3都能编译通过。结果:说明了: 在附件2的main方法中继续添加语句:“dc.method1();dc.method2();dc.method3();dc.method4();”编译附件2会出现什么结果说明什么?结果:说明了:名姓场考附录 1 Pclass.
17、javapackage com. yourn ame.ch3;class Dclass /default classpublic void method1()System.out.pri ntln ("public method of a defalut class in package p5");protected void method2()System.out.pri ntl n("protected method of a defalut class in package p5");void method3()System.out.pri ntl
18、 n("defalut method of a defalut class in package p5");private void method4()System.out.pri ntl n("private method of a defalut class in package p5");public class Pclass /public classpublic void method1()System.out.pri ntln ("public method of a public class in package p5");protected void method2()System.out.pri ntln ("protected method of a public class in package p5");void method3()System.out.pri ntln ("defalut method of a public class in package p5");private void method4()Syste
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教师晋级个人述职报告范文
- 高附加值DHA产业化项目申请报告
- 新生儿呼吸道管理课件
- 八年级体育课程教学计划
- 学校物业服务保障措施
- 高三化学一轮复习专题讲解辅导计划
- 学校营养与食品安全教育宣传推广计划
- 七年级培优补差教学改革计划
- 隧道检修脚手架安全隐患及防范措施
- 新年家长会课件模板高中
- 绿色建筑工程监理实施细则样本
- 智能制造工艺优化技术
- 新生儿科健康宣教手册
- 老旧小区施工安全文明施工方案
- 康复科护士的运动障碍康复与护理
- JCT640-2010 顶进施工法用钢筋混凝土排水管
- 江民杀毒软件
- 网络安全题库及答案(汇总1000题)-网络安全题库及答案
- 医院满意度调查工作制度(二篇)
- GB/T 33213-2016无损检测基于光纤传感技术的应力监测方法
- GB/T 2652-1989焊缝及熔敷金属拉伸试验方法
评论
0/150
提交评论