上海建桥学院java实验1

本次实验旨在培养面向对象编程思想,通过Java实现Student类,包含年级、学院等成员变量,并通过不同方式赋值及输出学生信息。实验中涉及MyStudent类的编写,使用构造函数和命令行输入来展示学生数据,并计算总成绩。实验结果成功输出学生详细信息。在实验过程中认识到一个Java文件只能有一个public类,理解了类、对象的概念及其关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上海建桥学院实验报告

课程名称: 面向对象程序设计 实验类型: 设计型

实验项目名称: 类的设计与使用

实验地点: 实验日期: 2022 年 4月 10 日

姓名学号班级成绩

一、实验目的及要求

培养面向对象的思想,要求能够用面向对象的思想去解决问题。

二、实验环境及要求

jdk1.8以上的开发环境,可使用任何编辑器。

三、实验内容及步骤

1.已知学生类(Student),该类中包含有如下成员变量和成员方法:

1)成员变量

年级、学院、专业、班级、姓名、面向对象程序设计、网络原理、数据库、总成绩

2)成员方法

计算总成绩

2.以下的(1)~(4)均能分别完成某个学生的姓名、学院、专业、班级和总成绩在控制台上的输出。

(1)编写MyStudent类,通过该类在程序中直接为成员变量赋值,并通过控制台输出该生的姓名、学院、专业、班级和总成绩。
(2) 编写MyStudent_1类,通过构造函数为成员变量赋值,并通过控制台输出该生的姓名、学院、专业、班级和总成绩。
(3) 编写MyStudent_2类,通过命令行直接为成员变量赋值,并通过控制台输出该生的姓名、学院、专业、班级和总成绩
(3) 编写MyStudent_2类,通过命令行直接为成员变量赋值,并通过控制台输出该生的姓名、学院、专业、班级和总成绩

注意:(1)~(4)的输出结果均如图1-1所示

四、 源程序


class student{
	String grade;				//年级
	String department;	//学院
	String  major;			//专业
	String classroom;		//班级
	String name;				//姓名
	int java;						//面向对象程序设计成绩
	int net;						//网络原理成绩
	int sql;						//数据库成绩
	int Sscore;					//总成绩
	public student(){
		super();
	}
	
	int qiuhe(int java,int net,int sql){
	int sum=java+net+sql;
	return sum;
	}

}


public class MyStudent{
	public static void main(String[] args){
	student stu=new student();	//创建对象
	stu.name="张三";
	stu.department="信息技术学院";
	stu.major="物联网工程";
	stu.classroom="B20-2";
	stu.java=98;
	stu.net=50;
	stu.sql=59;
	int sun1=stu.qiuhe(stu.java,stu.net,stu.sql);
	stu.Sscore=sun1;
	System.out.println(stu.department+"\t"+stu.major+"\t"+stu.classroom+"\t"+stu.name+"\t"+stu.Sscore);
}	
}
//copyright by axuan12651

五、实验结果

![](https://img-blog.csdnimg.cn/2e24c5fda6964ce5b0b2266c8aeac089.png
在这里插入图片描述

六、分析与讨论(实验过程中发现的重点与难点,请认真总结)

1.在这里插入图片描述

后来翻阅书籍才知道,一个Java文件中只能有一个public的类,而且这个类必须和这个java文件同名。

2.

在这里插入图片描述

后来发现是自己定义错误

在这里插入图片描述

3.通过实验总结发现:

对象是类的一个实例,就像一条狗是一个对象,那它拥有的行为和状态,吃喝拉撒等。类,就是一个模版,描述一类对象的行为和状态。一个类包含局部变量,,成员变量,类变量。一个类可以拥有多个方法,且每个类都要构造方法,而且构造方法必须与类同名。

对象是根据类创建的,我们用new来创建一个对象。例如:Dog MyDog=new Dog();

​ 对我而言,访问实例变量和方法比较困难,

它的步骤如下:

1.实例化对象

例:

Dog MyDog=new Dog();
2.访问类中的变量

例:

MyDog.DogName=”shabby”;

3.访问类中的方法

例:

MyDog.MethodDog();
、Person类的多态性设计。 设计一个Person类,其中包含一个方法pay(),计算工资支出。再从Person类派生出助教类(Assistant)、讲师类(Instructor)、副教授类(AssistantProfessor)教授类(Professor)。其中:工资支出=基本工资+授课时数teachingHours*每课时课金。 助教基本工资为800元,每课时课金25元;讲师基本工资为1000元,每课时课金35元;副教授基本工资为1200元,每课时课金40元;教授基本工资为1400元,每课时课金50元;在主方法中显示各人员的工资支出。用以下两种方式实现: ○1将Person类设计为抽象类,pay()为抽象方法,设计程序实现多态性。 ○2将Person类设计为接口,设计程序实现多态性。 提示:设置授课时数teachingHours为成员变量,计算工资支出为成员方法,考虑是否定义构造方法。 2、编写一个Java程序,在程序中定义一个接口Achievement,其中有一个计算平分的抽象方法avg();定义一个父类Person,其中有数据成员:姓名name年龄age,构造方法初始化数据成员nameage,重写toString()方法显示成员信息;定义一个子类Student继承类Person并实现接口Achievement,增加数据成员:语文成绩chnScore、数学成绩mathScore英语成绩engScore,增加设置三门课成绩的setScore()方法,并实现接口Achievement的计算平分的抽象方法avg(),主函数中测试,部分代码如下所示: Student s=new Student(“张三”,16); //创建子类对象 System.out.println(s.toString()); //显示s的个人信息,调用继承父类的toString方法 s.setScore(80,88,95); //设置三门课的成绩 System.out.printf(“三门课的平分:%.2f”, s.avg()); //显示对象s的三门课的平分 输出结果如下: 姓名:张三,年龄:16 三门课的平分:87.67 3、编写一个Java程序,在程序中定义一个School类,在School类中定义一个内部类Student,分别创建这两个类的对象,访问各个对象中的方法,其中: School类: 数据成员:学院名称schoolName; 成员方法:显示信息方法showSchoolMsg():在方法中创建内部类Student的对象,并显示该对象的信息(调用内部类Student的显示信息的成员方法)。 Student类: 数据成员:姓名sname,年龄sage; 构造方法,初始化姓名sname、年龄sage以及所属学院名(即外部类数据成员:学院名称schoolName); 成员方法:显示信息showStudentMsg(),显示的信息包括:姓名、年龄以及所属学院名。 主函数中测试,部分代码如下所示: …… // 创建外部类School的对象 …… // 通过外部类对象调用其显示信息的方法showSchoolMsg() System.out.println(“-------------我是华丽的分割线-------------”); …… // 创建内部类Student的对象 …… // 通过内部类对象调用其显示信息的方法showStudentMsg()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值