java设计一个学生类,然后用学生类创建具体的对象,具体结合学生的时间,通过输入时间查看学生正在做的事情
时间: 2024-10-19 19:08:26 浏览: 27
在Java中,我们可以设计一个`Student`类作为基础类,包含一些通用属性如姓名、学号等,以及一个表示当前活动状态的方法。然后为了支持不同学生的特定活动,我们可以创建派生类或者实现接口,并提供各自的`doActivity`方法。
```java
// 定义一个基础的Student类
class Student {
private String name;
private int studentId;
public Student(String name, int studentId) {
this.name = name;
this.studentId = studentId;
}
// 活动方法,返回默认值
public String getActivity() {
return "学生正在学习";
}
// 获取学生信息的方法
public String getStudentInfo() {
return "姓名:" + name + ", 学号:" + studentId;
}
}
// 如果有多个具体的活动,可以创建派生类比如ComputerScienceStudent
class ComputerScienceStudent extends Student {
@Override
public String getActivity() {
return "学生正在编程";
}
}
// 或者创建接口和实现,例如StudyBehavior接口
interface StudyBehavior {
default String getActivity() {
return "学生正在做作业";
}
}
class MathStudent implements StudyBehavior {
@Override
public String getActivity() {
return "学生正在解数学题";
}
}
// 现在你可以根据用户输入的时间查看学生正在做什么
public class Main {
public static void main(String[] args) {
Student generalStudent = new Student("张三", 001);
ComputerScienceStudent csStudent = new ComputerScienceStudent("李四", 002);
Scanner scanner = new Scanner(System.in);
System.out.println("请输入时间:");
String inputTime = scanner.nextLine();
System.out.println(generalStudent.getStudentInfo() + " - " + generalStudent.getActivity());
System.out.println(csStudent.getStudentInfo() + " - " + csStudent.getActivity());
// 判断并展示特定时间的行为
if (inputTime.equals("晚上7点")) {
System.out.println("假设现在是晚上7点," + csStudent.getName() + " 正在编程.");
} else {
System.out.println("无法匹配时间,显示一般情况下的活动.");
}
}
}
```
阅读全文