Java语言中类与对象的创建

  • Post author:
  • Post category:java




Java语言中类与对象的创建



一、实验目的:

1、掌握类、对象的概念;

2、掌握对象的创建过程;

3、理解对象的隐蔽性、抽象性等特征;

4、熟练创建类、创建对象;

5、理解对象在内存的存储;

6、了解构造方法作用,掌握构造方法编写规则;

7、掌握、并熟练运用成员变量等。



二、实验要求:

1、能够根据实验题目要求设计相应的类;

2、能够根据需要,设计构造方法,设计成员变量;

3、根据要求创建对象,并进行信息处理。



三、实验内容:

创建学生类,然后用这个学生类创建一个学生对象。

(1)学生类:类名Student

成员变量:

变量含义 数据类型 变量名(自己定义)

学号  String

姓名  String

班级  String

数学成绩  int

物理成绩  int

成员方法:

①构造方法:实例化时对学生学号、姓名、班级进行初始化;

②分别编写学号、姓名、班级三个基本成员变量的set()方法和get()方法;

③编写显示学生的综合信息(学号、姓名、班级)方法,显示格式如下:学号:xxx 姓名:xxx 班级:xxxx;

④分别编写数学成绩、物理成绩两个成员变量的set()方法和get()方法;

⑤分别编写统计总成绩、统计平均成绩的totalScore()和averageScore()方法;

(2)要求:

① 按照题目要求创建Student类、要求包括成员变量,并按要求设计相应的方法;

② 编写一个学生管理类StudManagement,用其中的main()方法实现学生类的一个对象,从键盘分别输入数学成绩和和物理成绩,并调用它们的set()方法把成绩保存到对应成员变量中,通过调用totalScore()和averageScore()方法,以及三个基本成员变量的get()方法,显示所有信息。

③完成实验报告。

代码部分:

import java.util.Scanner;	// 导入Scanner库实现控制台输入

class StudManagement	
{
	public static void main(String[] args)	// 主入口函数
	{
		Scanner scanner = new Scanner(System.in);	// 实例化Scanner
		Student student = new Student();	// 实例化Student类
		
		student.setId("202141084097");	// 利用set()方法设置学号、姓名、班级
		student.setName("林鹏");
		student.setCalss("数科2194");

		System.out.println("请输入数学成绩:");    // 通过控制台分别输入数学成绩和物理成绩
		student.setMathScore(scanner.nextInt());    //接收控制台int类型的参数
		System.out.println("请输入物理成绩:");
		student.setPhyScore(scanner.nextInt());

		System.out.println("总成绩为:" + student.totalScore());	// 运用totalScore()方法获取总成绩
		System.out.println("平均成绩为:" + student.averageScore());	// 运用averageScore()方法获取平均成绩
		student.show();	// 运用show()方法获取信息
	}
}

class Student
{
	private String sId;	// 设置成员变量,设置sId, sName, sClass为私有只能通过set()方法和get()方法才能调用
	private String sName;
	private String sClass;
	public int iMathScore;
	public int iPhyScore;

	public Student(String sId, String sName, String sClass)	// 定义一个含有三个参数的构造方法
	{
		this.sId = sId;
		this.sName = sName;
		this.sClass = sClass;
	}

	public Student()	// 定义一个不含参数的构造方法,成员变量在没有赋值的情况下,系统会根据变量数据类型自动分配初始值
	{

	}

	public void setId(String sId)	// 定义三个私有成员变量的set()方法,需要接收参数,没有返回值,所以返回值类型为void
	{
		this.sId = sId;	// 	因为形参的名字与成员变量名相同所以加this.
	}

	public void setName(String sName)
	{
		this.sName = sName;
	}

	public void setCalss(String sClass)
	{
		this.sClass = sClass;
	}

	public String getId()	// 定义三个私有成员变量的get()方法,不需要接收参数,返回值类型均为String
	{
		return this.sId;	// 有返回值,所以用return
	}

	public String getName()
	{
		return this.sName;
	}

	public String getClazz()
	{	
		return this.sClass;
	}

	public void show()	// 定义show()方法,显示出所有信息
	{
		System.out.println("学号为:" + this.sId + "\t 姓名为:" + this.sName + "\t 班级为:" + this.sClass);
	}

	public void setMathScore(int iMathScore)	// 定义两个共有变量的set()方法,需要接收参数,无返回值,所以返回值类型为void
	{
		this.iMathScore = iMathScore;
	}

	public void setPhyScore(int iPhyScore)
	{	
		this.iPhyScore = iPhyScore;
	}

	public int getMathScore()	// 定义两个共有变量的get()方法,不需要接收参数,返回值类型均为int
	{
		return this.iMathScore;	// 有返回值,所以用return
	}

	public int getPhyScore()
	{
		return this.iPhyScore;
	}

	public int totalScore()	// 定义一个计算数学和物理成绩的和的方法,不需要接收参数,返回值类型为int
	{	
		return (this.iMathScore + this.iPhyScore);	// 有返回值,所以用return
	}

	public int averageScore()	// 定义一个计算数学和物理成绩的和的平均分的方法,不需要接收参数,返回值类型为int
	{
		return (this.iMathScore + this.iPhyScore)/2;	// 有返回值,所以用return 	
	}
}

运行结果:

在这里插入图片描述

实验小结:

实例化对象调用的方法,如果该方法无返回值类型,且输出为System.out.println(),那么在主函数中就不能在System.out.println()中调用此方法,应直接使用实例化对象.方法()的方式调用该方法。

如果想要获得一个有return值的方法的return的值,则可以在System.out.println()中调用方法,获得该值。



版权声明:本文为qq_44640357原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。