Java 学生类(Student)设计与封装:实现思路及关键代码
Java 学生类(Student)设计与封装:实现思路及关键代码
本教程将通过一系列上机练习,引导你逐步理解并掌握Java中类的设计与封装,并以学生类(Student)为例,进行详细讲解。
上机练习1
需求说明
创建Student类,定义姓名属性和年级属性和方法,定义print()方法,定义默认构造方法、有1个参数的构造方法和2个参数的构造方法。
代码示例
public class Student {
private String name;
private String grade;
public Student() {
}
public Student(String name) {
this.name = name;
}
public Student(String name, String grade) {
this.name = name;
this.grade = grade;
}
public void print() {
System.out.println('姓名:' + name);
System.out.println('年级:' + grade);
}
}
编写Test类,根据控制台提示信息选择角色为学生,共需要定义3个学生,输入姓名、年级等信息,创建Student对象并打印对象信息
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < 3; i++) {
System.out.println('请输入第' + (i + 1) + '个学生的姓名:');
String name = scanner.nextLine();
System.out.println('请输入第' + (i + 1) + '个学生的年级:');
String grade = scanner.nextLine();
Student student = new Student(name, grade);
student.print();
}
}
}
上机练习2
需求说明
给Student增加Student (name)构造方法,使用该构造方法创建对象;去掉默认构造方法,分析出现问题的原因。
代码示例
public class Student {
private String name;
private String grade;
public Student(String name) {
this.name = name;
}
public Student(String name, String grade) {
this.name = name;
this.grade = grade;
}
public void print() {
System.out.println('姓名:' + name);
System.out.println('年级:' + grade);
}
}
**问题分析:**去掉默认构造方法后,如果不提供带参构造方法,就无法创建对象,因为没有可用的构造方法。
上机练习3
需求说明
对Student类的所有属性进行封装,并设定名字不能多于4个字符,年级不能是‘大一、大二、大三’以外的数据。
代码示例
public class Student {
private String name;
private String grade;
public Student(String name) {
if (name.length() > 4) {
System.out.println('姓名不能多于4个字符');
} else {
this.name = name;
}
}
public Student(String name, String grade) {
if (name.length() > 4) {
System.out.println('姓名不能多于4个字符');
} else {
this.name = name;
}
if (!grade.equals('大一') && !grade.equals('大二') && !grade.equals('大三')) {
System.out.println('年级只能是“大一、大二、大三”');
} else {
this.grade = grade;
}
}
public void print() {
System.out.println('姓名:' + name);
System.out.println('年级:' + grade);
}
}
编写Test类
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println('请输入学生的姓名:');
String name = scanner.nextLine();
System.out.println('请输入学生的年级:');
String grade = scanner.nextLine();
Student student = new Student(name, grade);
student.print();
}
}
通过以上练习,你已经学会了如何创建Student类,并进行属性的封装,以及设置属性值的限定条件。这只是一个简单的例子,但它体现了Java中类的设计和封装的基本思想,希望能够对你有所帮助。
原文地址: https://www.cveoy.top/t/topic/pfp9 著作权归作者所有。请勿转载和采集!