实验九类继承与接口(一)
课程名称: 面向对象程序设计实验
实验项目名称: 实验九类继承与接口(一)
学生姓名: 许方驰专业: 计算1302 学号: 31301150
实验地点: 实验日期: 年月
【实验目的】
1. 掌握Java类的继承特点,包括子类声明、对象创建等。
2. 掌握域的继承与隐藏的特点。
3. 掌握方法的继承与重写的特点。
【实验内容】
1. 执行类ConstructorChain, 请写出输出结果, 并分析出现该结果的原因。
提示:参考构造器链。
class ConstructorChain{
public static void main(String[] args){
new Son();
}
}
class Grandpa{
Grandpa(){
("Grandpa");
}
}
class Father extends Grandpa{
Father(){
("father");
}
}
class Son extends Father {
Son(){
("son");
}
}
运行结果:
分析继承链上各个类的构造器的调用次序:
分析是否是超类构造器调用在前:
Grandpa father son
是的
(2)在命令行上键入java –verbose ConstructorChain, 并回车, 观察各个类的加载次序.
各个类的加载次序是:
分析是否超类先加载:
Grandpa father son
是的
,把以下代码空缺处补齐
(1)类的继承
需求分析:
校务管理系统,设计类来描述系统中的两个角色:教师与学生
public class Teacher
public class Student
抽取共性
public class Person
考虑在Person中设计教师与学生的公有域
已知部分代码设计如下
class Person
class Person
{ private String name;
private String location;
Person(String name){
=name;
location="hangzhou";
}
Person(String name,String location){
=name;
=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]构造器
学号姓名-类继承与接口(一) 来自淘豆网www.taodocs.com转载请标明出处.