实验6 继承与接口
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
姓名学号专业班级
课程名称 Java实验实验日期成绩指导教师批改日期实验名称实验 6 继承与接口
[实验目的]
1、掌握java 继承中父类及其子类的定义方法。
2、掌握子类重写父类同名方法的方法。
3、掌握接口的用法。
(1) 学习如何定义接口 ;
(2) 掌握接口的实现方式 ;
(3) 使用实现了接口的类 ;
(4) 理解接口与抽象类的区别。
[实验要求]
1、复习理论教学中所学的内容。
2、认真进行实验预习,查阅参考书,书写源程序,书写实验预习报告。
3、认真总结实验并书写实验报告。
[实验内容]
1、类的继承性练习
(1) 程序源代码如下。
public class Student{
protected String xm; //姓名,具有保护修饰符的成员变量
protected int xh;//学号
void setdata(String xm,int xh) //设置数据的方法
{
this.xm=xm;
this.xh=xh;
}
public void print() //输出数据的方法
{
System.out.println(xm+", "+xh);
}
}
import java.util.*;
public class Exe_1 extends Student{
public Exe_1(){};
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
Exe_1 text=new Exe_1();
System.out.println("请输入姓名和学号:");
text.setdata(input.next(), input.nextInt());
System.out.println("显示如下:");
text.print();
}
}
(2) 编译源并运行程序。贴图如下
(二)创建将被继承的类
(1) 程序功能:通过Student类产生子类CollegeStudent,其不仅具有父类的成员变量xm(姓名)、
xh(学号),还定义了新成员变量xy(学院)、bj(bj)。在程序中调用了父类的print 方法,同时可以看出子类也具有该方法。
程序代码:
class CollegeStudent extends Student {
protected String xy;
protected String bj;
//此处定义新的成员变量,均为protected类型
public static void main(String args[]) {
Student p1 = new Student();
p1.setdata("李四", 12321);
p1.print();
CollegeStudent s1 = new CollegeStudent();
s1.setdata("张三", 12345); // 调用父类的成员方法
s1.xy = "山西大学计算机学院"; // 访问本类的成员变量
s1.bj = "2011级计算机科学与技术"; // 访问本类的成员变量
s1.print();
System.out.print(s1.xm + ", " + s1.xy + ", " + s1.bj);
}
}
运行结果贴图:
(三)了解成员方法的覆盖方式
(1)编写覆盖了Object 类toString方法的一个类,并用System.out.println()输出该类的一个
对象。
程序代码:
class Circle {
private int radius;
public Circle(int radius) {
this.radius=radius;
}
// 定义一个参数的构造方法
// 对于私有成员radius进行get和set(定义getRadius()和setRadius())
// 定义求面积方法area()
public void setRedious(int radius){
this.radius=radius;
}
public int getRadius(){
return radius;
}
public double getArea(int radius){
double area;
area=radius*radius*Math.PI;
return area;
}
public String toString() {
return"圆半径:" + getRadius() + " 圆面积:" + getArea(radius);
}
}
public class GetArea {
public static void main(String args[]) {
Circle c = new Circle(10);
System.out.println("\n" + c.toString());
}
}
运行结果贴图: