要求
定义一个Student
类,包含以下要求:
- 实例字段:
name
(名字),age
(年龄),id
(学生编号,自动生成,从1000开始) - 静态字段:
studentCount
(静态变量,用于统计总学生数),nextId
(下一个学生编号) - 构造器:接受名字和年龄作为参数,在构造器中应进行总学生数的统计,并为学生分配唯一的id
- 实例方法:
introduce()
,当调用该方法时输出学生的基本信息 - 静态方法:
getStudentCount()
,返回总学生数
测试代码如下:
public class StudentTest {
public static void main(String[] args) {
// 创建学生对象
Student s1 = new Student("张三", 20);
Student s2 = new Student("李四", 21);
Student s3 = new Student("王五", 19);
// 让每个学生自我介绍
s1.introduce();
s2.introduce();
s3.introduce();
System.out.println("总学生数: " + Student.getStudentCount());
}
}
参考输出:
大家好,我是编号1000的张三,今年20岁!希望学业有成,不再靠咖啡续命!
大家好,我是编号1001的李四,今年21岁!希望学业有成,不再靠咖啡续命!
大家好,我是编号1002的王五,今年19岁!希望学业有成,不再靠咖啡续命!
总学生数: 3
参考代码
请尽量独立完成,之后再对照参考代码进行核对。
class Student {
private final String name;
private final int age;
private final int id;
private static int studentCount = 0; // 统计学生总数
private static int nextId = 1000; // 下一个学生编号
// 构造器
public Student(String name, int age) {
this.name = name;
this.age = age;
this.id = nextId++; // 每次创建学生时,编号自动递增,且只能赋值一次
studentCount++; // 增加学生总数
}
// 输出学生信息的方法
public void introduce() {
System.out.printf("大家好,我是编号%d的%s,今年%d岁!希望学业有成,不再靠咖啡续命!\n", id, name, age);
}
// 静态方法,返回学生总数
public static int getStudentCount() {
return studentCount;
}
}
标签:登记,name,对象,age,练习,学生,int,Student,编号 From: https://www.cnblogs.com/xkxf/p/18473654