Java-抽象、继承、数组

这篇博客探讨了如何使用Java设计一个学生管理系统,包括一个抽象类`Student`,其子类`Undergraduate`和`Postgraduate`。`Student`类包含基本学生信息,而子类根据不同的成绩计算标准来区分研究生和本科生。博主提供了实现这个系统的代码,并讨论了如何通过一个数组存储和管理不同类型的学生成绩。
摘要由CSDN通过智能技术生成

目标

设计 3 个类 , 分别是学生类 Student, 本科生类 Undergaduate, 研究生类 Postgraduate, 其中 学生Student 类是一个抽象类 , 它包含一些基本的学生信息如姓名、所学课程、课程成绩等 , 而 Undergraduate 类和 Postgraduate 都是 Student 类的子类 , 它们之间的主要差别是计算课程成绩等级的方法有所不同 , 研究生的标准要比本科生的标准高一些 , 如下表所示。
在这里插入图片描述
假设某班级里既有本科生也有研究生 , 请编写程序统计出全班学生的成绩等级并显示出来。此题关键是设计一个学生数组 , 既能存放本科生对象 , 又能存放研究生对象。


代码

package exp4_1;

public abstract class Student {
	String name;
	String lecture;
	double score;
}

package exp4_1;

public class Undergraduate extends Student{
	static int youxiu = 0;
	static int lianghao = 0;
	static int yiban  = 0;
	static int jige = 0;
	static int bujige = 0;
	
	public Undergraduate(String name,String lecture,double score)
	{
		this.name = name;
		this.lecture = lecture;
		this.score = score;
	}
		
}

根据提供的引用内容,我们可以得知在Java抽象二维数组的写法。具体步骤如下: 1.首先,我们需要创建一个抽象类RussianShape,并在其中定义一个抽象方法getArray(),该方法返回一个int型的二维数组。 2.接着,在RussianShape中创建七个静态内部,并让这些内部继承RussianShape。在每个内部中,重写getArray()方法,实现不同的功能。 3.在每个内部中,我们可以根据具体需求来实现getArray()方法,返回不同的int型的二维数组。 下面是Java抽象二维数组的示例代码: ```java // 定义抽象类RussianShape public abstract class RussianShape { // 定义抽象方法getArray() public abstract int[][] getArray(); // 定义七个静态内部 static class InnerClass1 extends RussianShape { @Override public int[][] getArray() { // 实现具体的二维数组 int[][] array = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; return array; } } static class InnerClass2 extends RussianShape { @Override public int[][] getArray() { // 实现具体的二维数组 int[][] array = {{9, 8, 7}, {6, 5, 4}, {3, 2, 1}}; return array; } } // ...省略其他内部的定义 } // 在其他中使用 public class Test { public static void main(String[] args) { // 创建内部对象 RussianShape shape = new RussianShape.InnerClass1(); // 调用getArray()方法获取二维数组 int[][] array = shape.getArray(); // 输出二维数组 for (int[] row : array) { for (int num : row) { System.out.print(num + " "); } System.out.println(); } } } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值