版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验1:类的继JavapublicclassAnimal{privateintweight;publicintgetWeight(){returnweight;}publicvoidsetWeight(intw){}}存取这个属性的两个方法:getWeightsetWeight。publicclassCatextendspublicvoidmiaow(){ }}AnimalpublicclassWhiteCat{privatestaticCatwhiteCat;publicstaticvoidmain(Stringargs[]){whiteCat=newCat(); 量:}}最后我们来看如何实例化这个CatCat中体现它和父类Animal的关系。在这个WhiteCatCat的构造器来实例化了一个CatwhiteCatCatsetWeight()weight,以及调用从父类继承的getWeight()方法来获取属性weightCat类自身定义的方法miaow()。实验2:方法的覆源文件 publicpublicStringname;intage;{ publicStringshowName(){returnname;}publicvoidsetName(StringtheName){name=theName;}publicpublicintgetAge(){returnage;}publicvoidage }publicStringget }publicvoid=}(String;}首先定义一个父类 ,它有三个属性,分别由各自的存取方法来存取。在这里它的属性的控制定义为Default,是因为在子类中我们需要这些属性。 源文件 publicpublicclassTeacherprivateString{publicvoidsetDepartment(StringtheDept){department=theDept;}publicStringgetDepartment(){returndepartment;}publicStringshowName(){returnname+"老师";}publicstaticvoidmain(String[]args){Teachert=newTeacher(); }} 中的name属性不能定义为private的。最后定义了一个main方法用于测实验3:利用super调用父类构造publicclassCatextendsAnimal{publicCat(){}publicCat(intweight){}publicvoidmiaow(){}}在Cat这个子类中,有一个构造器Cat(),它里面有一个super(0)的语句,这句话的意思weight属性的值0了。实验4:利用super调用父类的方源文件:publicpublic{privateString//Stringname;intage; }()(String name=} (String (StringtheName)age }publicStringshowName(){returnname;}publicvoidsetName(StringtheName){name=theName;}publicintgetAge(){returnage;}publicvoidage }publicStringget }publicvoid (String )= }} 类中的属性都是private的,通过各自的public的方法publicpublicclassTeacherprivateString{publicvoidsetDepartment(Stringdept){department=dept;}publicStringgetDepartment(){returndepartment;}publicString//returnname+"老师returnsuper.showName()+"老师}publicstaticvoidmain(String[args){Teachert=newTeacher();}}实验5:构造器的源文件 publicpublic{privateStringname;intage; (){name=}}(String name=} (Stringname=age } 被调用name=theName;age= = }}源文件 publicpublicclass{publicstaticvoidmain(String[]args) }}构造 这说明,它的带三个参数的方法被调用来创建对象了。也就是说,虚拟机会自实验6:类的方法中调用同一个类中的其他方法、属this源文件:publicclassStringpublicclassStringname;int{ publicStringshowName(){return;}publicvoidsetName(StringtheName){=theName;}//...}nameshowName()setName()中也有类似的用法。其实,如果你只是在类的某个方法或构造器中实验7:返回当前的对象publicpublicclassintaccountId=publicAccountcreateAccount()accountId++;return}{publicintgetAccountId(){returnaccountId;}publicstaticvoidmain(String[args){Accountaccount=newAccount();} 由于createAccount()方法返回了同一个对象,所以可以在这个对象上多次调用方法实验8:在构造器中使用this来调用类中的其他构造源文件 publicpublicStringname;intage;{ (){ } (Stringname=theName; } (String System.out.println("(String(String,int)age; }publicStringgetName()returnreturn}publicintgetAge(){returnage;}publicStringget (){ }}来初始化新建对象的属性。下面我们重点来看后面两个构造器,在带一个参数的构造器参数的构造器中,接收theName()和()来创建对象,它也通过this()来此时,这条语句调用的是带一个String类型参数的构造器,在这里是(String下面我们来看一下使用带两个参数的构造器(StringtheName,int)来创建对源文件 publicpublicclass{publicstaticvoidmain(String[]args)= }}这个程序的执行结果如下:向控制台打印“构造器()被调用”→将属性的值调用”→nametheName的值→向控制台打印各个属性值→打印“构造器(String,int)被调用”→将属性age的值初始化为参数的值→向控制台 name=null,age=0,=Male构造 ,age=0 name=,age=20, 实验9:初始化块的执源文件 {Stringname;intage; (){},age="+age+" (String name=},age="+age+"= (String System.out.println("(String(String,int)age;System.out.println("name="+name+",age="+age+"}={{name=age==+",age="+age+" }}publicpublicclass{publicstaticvoidmain(String[]= }}初始化块执行后:name=,age=20,构造 name=,age=20,实验10:对象初始源文件 {Stringname;intage; (){="女System.out.println("name="+name+",age="+age+"}=(String (String)被调用name=},age="+age+"= (String name=theName;age= }{,age="+age+"=name=" age=40;男+",age="+age+"}}初始化块执行后:这里定义了一个父类,它里面定义了三个构造器以及一个初始化块。我们再来定义一个类的子类Teacher,如下:classTeacherStringint{public}publicTeacher(String(String}}publicTeacher(inttheSchoolAge){schoolAge=theSchoolAge;}publicTeacher(Stringdept,intdepartment=}{department教务部System.out.println("Teacher+",age="+age+" }}super()int数据类型参数的构造器;this()int类型参数的构造器。publicclasspublicstaticvoidmain(String[]args){Teachert1=newTeacher();Teachert2=newTeacher("Tom");Teachert3newTeacher("教研部}}编译并运行TestInit初始化块执行后:name=,age=40 构造 name=,age=40 Teacher初始化块执行后:name=,age=40,=女构造器Teacher()被调用初始化块执行后:name=,age=40 (String)被调用name=Tom,age=40, Teacher初始化块执行后:name=Tom,age=40, 构造器Teacher(String)被调用初始化块执行后:name=,age=40 构造 name=,age=40 Teacher初始化块执行后:name=,age=40,=实验11:封装类的publicpublicclasspublicstaticvoidmain(String[]args)IntegerIntegeri=newInteger(10);Integerj=newInteger(10);}}JavaintInteger的对象,并且比较它们是否相等。ij各自指向的对象是不一样的。所以,它们比较的结果是false。实验12:覆盖父类中的toString()方toString()toString()方法返回的字符串来表源文件 publicclass Stringname;intage; publicStringshowName(){returnname;}publicvoidsetName(StringtheName){name=theName;}publicintgetAge(){returnage;}publicvoidage }publicStringget (){ }publicvoid=(String;}}//覆盖toString()方法publicStringtoString(){return ===}}publicpublicclasspublicstaticvoidmain(String[]= }}在这个类中,覆盖了父类(Object类)toString()方法,让它按照上面所说2=2,…]”格式的字符串作为表示类的字符串。实验13:自动装理解简单类型数据的自动装箱功能以及明白各种简单数据在不同的范围内的不为publicpublicclasspublicstaticvoidmain(String[]args){Integert1=newInteger(127);Integert2=newInteger(127);System.out.println("t1==t2?"+(t1==t2));Integert3=127;Integert4=System.out.println("t3==t4?"+(t3==t4));System.out.println("t1==t4?"+(t1==t4));Integert5=128;Integert6=System.out.println("t5==t6?"+(t5==} t1==t2?falset3==t4?truet1==t4?falset5==t6?请思考一下为什么会得到这些值实验14==equals(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版企业信息工程系统性能评估委托合同3篇
- 2025版学校学生食堂餐具清洗消毒服务合同2篇
- 2025版工业产品设计劳务分包合同示范文本3篇
- 3简历筛选技巧
- 2025版新型木工机械设备租赁服务合同范本4篇
- 全新神州2025年度车辆租赁合同6篇
- 互联网平台未来发展趋势与挑战考核试卷
- 2025版建筑施工安全环保综合服务合同2篇
- 2025版婴幼儿辅食委托加工生产及质量控制合同3篇
- 2025版企业商标注册委托代理服务合同2篇
- 数学-山东省2025年1月济南市高三期末学习质量检测济南期末试题和答案
- 中储粮黑龙江分公司社招2025年学习资料
- 湖南省长沙市2024-2025学年高一数学上学期期末考试试卷
- 船舶行业维修保养合同
- 2024年林地使用权转让协议书
- 春节期间化工企业安全生产注意安全生产
- 数字的秘密生活:最有趣的50个数学故事
- 移动商务内容运营(吴洪贵)任务一 移动商务内容运营关键要素分解
- 基于ADAMS的汽车悬架系统建模与优化
- 当前中国个人极端暴力犯罪个案研究
- 中国象棋比赛规则
评论
0/150
提交评论