- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验6java继承
实验6:Java继承与多态
一、实验目的
(1)掌握对象的声明和使用。
(2)构造函数的概念和使用。
(3)掌握类及其成员的访问控制符的使用。
(4)掌握包的概念和使用。
二、实验任务
(1)输入根据给定的Java Application程序,写出运行结果。
(2)按照要求编写Java Application程序。
三、实验内容
1.阅读如下所示的3个Java类的定义,分析它们之间的关系,写出运行结果。
// SuperClass类:
class SuperClass {
int x;
SuperClass() { //构造方法
x=3;
System.out.println(in SuperClass : x= +x);
}
void doSomething() {
System.out.println(in SuperClass.doSomething());
}
}
// SubClass类:
class SubClass extends SuperClass { //继承
int x;
SubClass() {
super(); //调用父类的构造方法
x=5; //super( ) 要放在方法中的第一句
System.out.println(in SubClass :x=+x);
}
void doSomething( ) {
super.doSomething( ); //调用父类的方法
System.out.println(in SubClass.doSomething());
System.out.println(super.x=+super.x+ sub.x=+x);
}
}
Inheritance类:
public class Inheritance {
public static void main(String args[]) {
SubClass subC=new SubClass(); //实例化对象subC
subC.doSomething();
}
}
2.假定根据学生的3门学位课程的分数决定其是否可以拿到学位,对于本科生,如果3门课程的平均分数超过60分即表示通过,而对于研究生,则需要平均超过80分才能够通过。根据上述要求,请完成以下Java类的设计:
(1)设计一个基类Student描述学生的共同特征。
(2)设计一个描述本科生的类Undergraduate,该类继承并扩展Student类。
(3)设计一个描述研究生的类Graduate,该类继承并扩展Student类。
(4)设计一个测试类StudentDemo,分别创建本科生和研究生这两个类的对象,并输出相关信息。
//Student类:
class Student{
private String name;
private int classA,classB,classC;
public Student(String name,int classA,int classB,int classC){
this.name=name;
this.classA=classA;
this.classB=classB;
this.classC=classC;
}
public String getName(){
return name;
}
public int getAverage(){
return (classA+classB+classC)/3;
}
}
// UnderGraduate类:
class UnderGraduate extends Student{
public UnderGraduate(String name,int classA,int classB,int classC){
super(name,classA,classB,classC);
}
public void isPass(){
if(getAverage()=60)
System.out.println(本科生+getName()+的三科平均分为:+getAverage()+,可以拿到学士学位。);
else
System.out.println(本科生+getName()+的三科平均分为:+getAverage()+,不能拿到学士学位。);
}
}
// Graduate类:
class Graduate extends Student{
public Graduate(String name,int classA,int classB,i
文档评论(0)