免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验9 类继承与接口(一)一、 实验目的和要求 1. 掌握Java类的继承特点,包括子类声明、对象创建等。2. 掌握域的继承与隐藏的特点。3. 掌握方法的继承与重写的特点。二、 实验内容 1. 程序阅读与分析2. 程序填空:按照需求将代码空缺处补齐。3. 成员的访问权限三、 实验步骤1. 程序阅读与分析执行类ConstructorChain, 请写出输出结果, 并分析出现该结果的原因。提示:参考构造方法链。class ConstructorChainpublic static void main(String args)new Son();class Grandpa Grandpa()System.out.println(Grandpa); class Father extends Grandpa Father()System.out.println(father); class Son extends Father Son()System.out.println(son); (1) 运行结果:(2)分析继承链上各个类构造方法的调用次序:分析是否是超类构造方法调用在前: Son();Father();Grandpa();沿着继承链从子类开始一直到object为止(2)在命令行上键入java verbose ConstructorChain, 并回车, 观察各个类的加载次序.各个类的加载次序是:分析是否超类先加载:各个类的加载顺序依次是:class Grandpa-class Father extends Grandpa-class Son extends Father是,在加载某个类的时候,如果它的某个超类还没有被加载,那么必须首先加载这个超类;继承链上加载超类的顺序是:从object类开始知道当前类。就是继承链上接近object的超类,越优先被加载;默认情况下,同一个类仅需加载一次,既不会重复多次加载同一个类。2.程序填空。按照以下需求将代码空缺处补齐: 类的继承n 需求分析:n 校务管理系统,设计类来描述系统中的两个角色:教师与学生n public class Teachern public class Studentn 抽取共性n public class Personn 考虑在Person中设计教师与学生的公有域已知部分代码设计如下class Person* class Person* private String name;* private String location;* Person(String name)* =name;* location=hangzhou;* * Person(String name,String location)* =name;* this.location=location;* * public String info()* return* name:+name+location: +location;* * class Teacher* class Teacher extends Person* /代码1增加年龄属性* Teacher(String name, int age)* /代码2构造方法体* * Teacher(String n, String l,int age)* /代码3构造方法体* /代码4构造方法体* * public String info()* /代码5返回姓名:住所:以及年龄的信息* * class Person private String name; private String location;Person(); Person(String name) =name; location=hangzhou; Person(String name,String location) =name; this.location=location; public String info() return name: +name+ location: +location; class Teacher extends Person Int age;/代码1增加年龄属性 Teacher(String name, int age) super(name); This.age=age;/代码2构造方法体 Teacher(String n, String l,int age) Super(n,1);/代码3构造方法体 This.age=age;/代码4构造方法体 public String info() Return ()+” age”+age;/代码5返回姓名:住所:以及年龄的信息 class Student extends Person Int age;/代码1增加年龄属性 Student(String name, int age) super(name); This.age=age;/代码2构造方法体 Student(String n, String l,int age) Super(n,1);/代码3构造方法体 This.age=age;/代码4构造方法体 public String info() Return ()+” age”+age;/代码5返回姓名:住所:以及年龄的信息 public class Test public static void main(String args)Teacher teacher1=new Teacher(Mr Green,30);Student student1=new Student(John,18);Teacher teacher2=new Teacher(Miss Red,North,25);Student student2=new Student(Marry,South,2);System.out.println(();System.out.println(();System.out.println(();System.out.println((); 3 成员的访问权限将下面的两个程序DefaultPkgFirst.java和DefaultPkgSecond.java保存到某一目录下,比如D:testsources;然后回答问题。/DefaultPkgFirst.javapublic class DefaultPkgFirst public int i =100; protected int j = 200; private int k = 300; int m = 400; public void show1() System.out.println(AnonymousPkgFirst类中的show1()方法); protected void show2() System.out.println(AnonymousPkgFirst类中的show2()方法); private void show3() System.out.println(AnonymousPkgFirst类中的show3()方法); void show4() System.out.println(AnonymousPkgFirst类中的show4()方法); /DefaultPkgSecond.javaclass DefaultPkgSecond public static void main(String args) DefaultPkgFirst a = new DefaultPkgFirst(); System.out.println(a.i);/语句1 System.out.println(a.j);/语句2 System.out.println(a.k);/语句3 System.out.println(a.m);/语句4 a.show1();/语句5 a.show2();/语句6 a.show3();/语句7 a.show4();/语句8 (1)DefaultPkgFirst和DefaultPkgSecond这两个类都属于什么包?package test.sources(2)编译上面的DefaultPkgFirst.java和DefaultPkgSecond.java,那么程序中的语句1到语句8是否编译出错, 如果出错,写明原因:语句1出错? 为何?不出错,同一个包里可以继承费private成员语句2出错? 为何?不出错,同一个包里可以继承非private成员语句3出错? 为何?出错,同一个包里只能继承非private成员语句4出错? 为何?不出错,同一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 社群运营工作计划及用户活跃度提升方案
- 单招护理方面试题及答案
- 人工智能应用场景落地项目实施计划书-针对人工智能行业
- 环境社会及治理ESG应用案例总结报告
- 咨询经理领导力发展计划与训练方法
- 健身教练初级工作手册与训练技巧
- 中级燃气储运工程师的日常工作安排与技巧
- 儿童服装设计部年度工作计划与目标
- 做好直播前准备主播的周工作计划
- 残疾人照护服务的工作计划及执行
- 2-《双液原电池》课件 高中化学人教版必修二
- 中心小学开展课后服务活动档案材料(含过程性材料)
- 天津高考英语词汇3500
- 医院妇产科医学病例汇报PPT
- 家庭疾病管理能力调查
- 《为什么家庭会生病》读书笔记思维导图PPT模板下载
- (37)-13.2突发公共卫生事件处置典型案例分析
- 注塑车间安全培训
- 全国国防教育示范学校自评报告
- JB/T 20185-2017热原检测仪
- GB/T 22153-2008国际货运代理通用交易条件
评论
0/150
提交评论