




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验九 类继承与接口(一)课程名称: 面向对象程序设计实验 实验项目名称: 实验九 类继承与接口 (一) 学生姓名: 专业: 学号: 实验地点: 实验日期: 年 月 【实验目的】1. 掌握Java类的继承特点,包括子类声明、对象创建等。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) 运行结果: Grandpa Father son 分析继承链上各个类构造方法的调用次序:Grandpa()-Father()-son-().-Object;分析是否是超类构造方法调用在前: 调用子类前优先调用超类 (2)在命令行上键入java verbose ConstructorChain, 并回车, 观察各个类的加载次序.各个类的加载次序是:分析是否超类先加载:Class Grandpa-class Father-class son2.程序设计,把以下代码空缺处补齐n (1)类的继承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 代码1增加年龄属性 Teacher(String name, int age) super(name); 代码2构造方法体 Teacher(String n, String l,int age) 代码3构造方法体 代码4构造方法体 public String info() 代码5返回姓名:住所:以及年龄的信息 class Student extends Person 代码1增加年龄属性 Student(String name, int age) super(name); 代码2构造方法体 Student(String n, String l,int age) 代码3构造方法体 代码4构造方法体 public String info() 代码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((); package ti;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; Teacher(String name, int age) super(name); this.age=age; Teacher(String n, String l,int age) super(n,l); this.age=age; public String info() return ()+ age: +age; class Student extends Person int age; Student(String name, int age) super(name); this.age=age; Student(String n, String l,int age) super(n,l);this.age=age; public String info() return ()+ age: +age; 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出错? 为何?未出错,因为是非priva
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年自动包装设备项目立项申请报告模范
- 2025年大型并网风力发电机组电控系统项目立项申请报告模板
- 2025年抗寄生虫病药项目立项申请报告
- 2025年氮化硅陶瓷轴承球项目提案报告范文
- 2025年玉米新组合项目提案报告
- 珠宝销售定向管理办法
- 甘肃项目投资管理办法
- 生物产业资金管理办法
- 电信提高投诉管理办法
- 电力员工培训管理办法
- 2025年有害生物防治员初级理论知识考核试题及答案
- 新版2026统编版小学道德与法治三年级上册 第4课《 科技力量大》第1课时 科技改变生活和科技改变观念 教案设计(教案)
- 2025-2026学年湘教版(2024)初中地理七年级上册教学计划及进度表
- 学会交流与沟通课件
- 铁路监理培训考试试题及答案
- 2025全国企业员工全面质量管理知识竞赛题库附答案
- 供应链与贸易安全培训课件
- 严禁燃放烟花炮竹课件
- 宫颈息肉课件
- 人工智能多智能体课件
- 2024年云南地质工程勘察设计研究院有限公司招聘笔试真题及答案
评论
0/150
提交评论