Java实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java实验报告
姓名实验报告成绩
评语:
指导教师(签名)
年月日
一、实验目的
1.掌握接口的概念,实现定义接口的方法。

2.理解抽象类的概念。

3.理解接口与抽象类的区别。

二、实验内容
1.设计一个Person 类,其成员变量有:姓名(name)、性别(gender)、年龄(age);再设
计一个Student类,它是类Person的子类,其成员变量有:学号(id)、班名(cname)、成绩(score),类Student中要有一个方法display(),用来显示一个学生的信息。

编写一个测试程序,创建一个Student类的对象,要求name和id 是自己的姓名和学号,输出学生的各种信息,学生的基本信息在类
Student的带参数的构造方法中设定。

public class Main {
public static void main(String args[]){
Student A = new Student(" ","男","18","1243102140","计算班",100);
A.display();
}
}
class Person{
String name;
String gender;
String age;
}
class Student extends Person{
String id;
String cname;
int score;
Student(String name,String gender,String age,String id,String cname,int score){ =name;
this.gender=gender;
this.age=age;
this.id=id;
ame=cname;
this.score=score;
}
void display(){
System.out.println(name+' '+gender+' '+age+' '+id+' '+cname+' '+score);
}
}
2.定义一个类A,该类有一个方法f,方法f可以输出英文字母,再定义一个类B是
A的子类,子类B不能重写父类A的方法f,子类有一个方法g,可以输出中文字符串。

编写测试程序,创建B的对象,输出英文字母和中文字符串。

public class Main {
public static void main(String args[]){
B temp = new B();
temp.f('A');
temp.g("你好");
}
}
class A{
void f(char c){
System.out.println(c);
}
}
class B extends A{
void g(String str){
System.out.println(str);
}
}
3.定义一个坐标类Pointer,成员变量包括x和y;成员方法有:
(1)构造方法
(2)setX、setY、getX、getY、display方法
(3)类方法distance用来计算两点之间的距离
编写测试程序,创建Pointer的两个对象并计算两个点坐标的距离。

public class Main {
public static void main(String args[]){
Pointer p1 = new Pointer(1.0,1.0);
Pointer p2 = new Pointer(0.0,0.0);
System.out.println(p1.distance(p2));
}
}
class Pointer{
double x,y;
Pointer(double x,double y){
this.x=x;
this.y=y;
}
void setX(double x){
this.x=x;
}
void setY(double y){
this.y=y;
}
double getX(){
return x;
}
double getY(){
return y;
}
double distance(Pointer b){
return Math.sqrt((x-b.x)*(x-b.x)+(y-b.y)*(y-b.y)); }
}
4. 定义一个抽象类Area、两个Area的子类RectArea和RoundArea,以及一个实现类ImpleArea。

要求如下
(1)抽象类Area类中只包含一个抽象方法double area()。

(2)子类RoundArea类通过覆盖父类中的抽象方法area()来求圆的面积,另一个子类RectArea类通过覆盖父类中的抽象方法area()求长方形的面积。

(3)圆的半径和长方形的边分别定义为子类RoundArea类和RectArea类的域,都为double娄型。

(4)ImpleArea类中创建对象,接收键盘输入,输入内容分别为圆的半径和长方形的边,并求出圆和长方形的面积,在屏幕上显示。

import java.util.Scanner;
public class Main {
public static void main(String args[]){
ImpleArea.test();
}
}
abstract class Area{
abstract double area();
}
class RoundArea extends Area{
double r;
RoundArea(double r){
this.r=r;
}
public double area(){
return 3.14*r*r;
}
}
class RectArea extends Area{
double a,b;
RectArea(double a,double b){
this.a=a;
this.b=b;
}
public double area(){
return a*b;
}
}
class ImpleArea{
static double a,b;
static void test(){
Scanner sc = new Scanner(System.in); System.out.println("请输入半径:"); RoundArea A = new RoundArea(sc.nextDouble()); System.out.println("请输入宽:");
a=sc.nextDouble();
System.out.println("请输入高:");
b=sc.nextDouble();
RectArea B = new RectArea(a,b);
sc.close();
System.out.println(A.area());
System.out.println(B.area());
}
}
5. 编写一个Flyable接口,包含:
方法:double flySpeed(),用于返回最大的飞行速度。

并实现该接口. public class Main {
public static void main(String args[]){
A fly = new A();
System.out.println(fly.flyspeed());
}
}
interface Flyable{
public double flyspeed();
}
class A implements Flyable{
public double flyspeed(){
double speed = 0;
/*
* 计算过程
*/
return speed;
}
}。

相关文档
最新文档