类继承与接口(一)

类继承与接口(一)

ID:12432585

大小:46.50 KB

页数:6页

时间:2018-07-17

类继承与接口(一)_第1页
类继承与接口(一)_第2页
类继承与接口(一)_第3页
类继承与接口(一)_第4页
类继承与接口(一)_第5页
资源描述:

《类继承与接口(一)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验9类继承与接口(一)一、实验目的和要求1.掌握Java类的继承特点,包括子类声明、对象创建等。2.掌握域的继承与隐藏的特点。3.掌握方法的继承与重写的特点。二、实验内容1.程序阅读与分析2.程序填空:按照需求将代码空缺处补齐。3.成员的访问权限三、实验步骤1.程序阅读与分析执行类ConstructorChain,请写出输出结果,并分析出现该结果的原因。提示:参考构造方法链。classConstructorChain{publicstaticvoidmain(String[]args){newSon();}

2、}classGrandpa{Grandpa(){System.out.println("Grandpa");}}classFatherextendsGrandpa{Father(){System.out.println("father");}}classSonextendsFather{Son(){System.out.println("son");}}(1)运行结果:(2)分析继承链上各个类构造方法的调用次序:分析是否是超类构造方法调用在前:Son();Father();Grandpa();沿着继承链从子类

3、开始一直到object为止(2)在命令行上键入java–verboseConstructorChain,并回车,观察各个类的加载次序.各个类的加载次序是:分析是否超类先加载:各个类的加载顺序依次是:classGrandpa->classFatherextendsGrandpa->classSonextendsFather是,在加载某个类的时候,如果它的某个超类还没有被加载,那么必须首先加载这个超类;继承链上加载超类的顺序是:从object类开始知道当前类。就是继承链上接近object的超类,越优先被加载;默认

4、情况下,同一个类仅需加载一次,既不会重复多次加载同一个类。2.程序填空。按照以下需求将代码空缺处补齐:类的继承n需求分析:n校务管理系统,设计类来描述系统中的两个角色:教师与学生npublicclassTeachernpublicclassStudentn抽取共性npublicclassPersonn考虑在Person中设计教师与学生的公有域已知部分代码设计如下classPerson*classPerson*{privateStringname;*privateStringlocation;*Person(S

5、tringname){*this.name=name;*location="hangzhou";*}*Person(Stringname,Stringlocation){*this.name=name;*this.location=location;*}*publicStringinfo(){*return*"name:"+name+"location:"+location;*}*}classTeacher*classTeacherextendsPerson*{//[代码1]增加年龄属性*Teacher(St

6、ringname,intage){*//[代码2]构造方法体*}*Teacher(Stringn,Stringl,intage){*//[代码3]构造方法体*//[代码4]构造方法体*}*publicStringinfo(){*//[代码5]返回姓名:住所:以及年龄的信息*}*}classPerson{privateStringname;privateStringlocation;Person(){};Person(Stringname){this.name=name;location="hangzhou";

7、}Person(Stringname,Stringlocation){this.name=name;this.location=location;}publicStringinfo(){return"name:"+name+"location:"+location;}}classTeacherextendsPerson{Intage;//[代码1]增加年龄属性Teacher(Stringname,intage){super(name);This.age=age;//[代码2]构造方法体}Teacher(Str

8、ingn,Stringl,intage){Super(n,1);//[代码3]构造方法体This.age=age;//[代码4]构造方法体}publicStringinfo(){Returnsuper.info()+”age”+age;//[代码5]返回姓名:住所:以及年龄的信息}}classStudentextendsPerson{Intage;//[代码1]增加年龄属性Student(Strin

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。