1、实验要求
本实验要求:创建、实例化并使用实体类。
1-1. 创建工程并配置环境:
1-1.1. 限制1. 工程取名:SE_JAVA_EXP_E021。
1-1.2. 限制2. 创建包,取名:cn.campsg.java.experiment。
1-2. 创建实体类成员变量。
1-2.1.限制1. 在包cn.campsg.java.experiment下创建实体类:Student。
+ 业务说明: 1) 实体类:类中仅包含成员变量(属性)和getter、setter方法。 2) 实体类用于描述显示生活与业务中的物体,使物体可被抽象成程序中的Class。 3) 实体一般可被称为:贫血模型、POJO、DO。 |
1-2.2. 分别为实体类定义如下属性:
1)姓名:字符串类型。
2)年龄:整型类型。
3)性别:布尔类型(true 男,false女)。
4)成绩:浮点类型。
1-3. 创建成员变量属性:
1-3.1. 为Student类中的各属性分别创建getter和setter方法。
1-3.2. 年龄属性需保证大于18岁,如输入的年龄小于18岁则设置为18。
1-4. 创建实体类构造函数。
1-4.1. 为Student类创建0参构造函数,构造函数负责为所有属性设置初始值。
1-4.2. 为Student类创建4参构造函数,构造函数负责为所有属性赋值。
1-5. 使用学生实体类。
1-5.1. 限制1. 在包cn.campsg.java.experiment下创建主类:MainClass。
1-5.2. 编写程序主入口函数(main)。
1-5.3. 通过Student的4参构造函数分别传入以下数据:
1)姓名:黄世仁。
2)年龄:24。
3)性别:true。
4)成绩:59.0f。
1-5.4. 向控制台输出Student实体类中各属性值,格式如下:
"姓名:" + Student类的姓名属性 + 回车
"年龄:" + Student类的年龄属性 + 回车
"性别:" + Student类的性别属性 + 回车
"分数:" + Student类的分数属性
2、实现思路
2-1. 按实验要求创建工程并配置环境。
2-2. 创建实体类成员变量:
2-2.1. 在包cn.campsg.java.experiment下创建学生类:Student。
2-2.2. 定义私有的成员变量用于描述学生信息:
1) 姓名:字符串类型 name。
2) 年龄:整型 age。
3) 性别:布尔类型 sex(true 男,false女)。
4) 成绩:整型 score。
2-3. 创建成员变量属性(getter/setter方法):
2-3.1. 为成员变量(name、age、sex、score)添加setter和getter方法。
+ 提示: 1) 成员变量的作用域应该设置为:private 2) 访问器的创建可通过Eclipse中的自动化工具实现: 单击右键,选择Source à Generate Getters and Setters |
2-3.2. 在setAge方法中,增加年龄判断业务逻辑:
1)如果方法参数小于18,那么age属性 = 18。
2)否则age属性 = 方法参数。
2-3.3. 在getSex方法中,增加返回值逻辑判断:
1)修改方法的返回值为:String。
2)如果sex属性为true,则返回男。
3)如果sex属性为false,则返回女。
2-4. 创建实体类构造函数:
2-4.1. 创建0参构造器,属性初始化如下:
1)姓名:name = “”。
2) 年龄:age = 0。
3) 性别:sex = true。
4) 成绩:score = 0.0f。
2-4.2. 创建4参构造器,属性初始化如下:
1) 姓名:name = 构造体name参数。
2) 年龄:age = 构造体age参数。
3) 性别:sex = 构造体sex参数。
4) 成绩:score = 构造体score参数。
+ 提示: 1) 构造函数的创建可通过Eclipse中的自动化工具实现: 单击右键,选择Source à Generate Constructor using Fields |
2-5. 使用学生实体类:
2-5.1. 在包cn.campsg.java.experiment下创建主类:MainClass。
2-5.2. 为MainClass增加主入口函数:public static void main(String args[])。
2-5.3. 创建Student的实例,并调用4参构造函数,分别传入以下数据:
1) 姓名:黄世仁
2) 年龄:24
3) 性别:true
4) 分数:59.0f
2-5.4. 向控制台输出Student实体类中各属性值,格式如下:
"姓名:" + student.getName()
"年龄:" + student.getAge()
"性别:" + student.getSex()
"分数:" + student.getScore()
//student.java
package cn.campsg.java.experiment;
public class Student {
private String name;
private int age;
private boolean sex;
private float score;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
if(age<18){
this.age=18;
}
else{
this.age=age;
}
}
public String getSex() {
if(sex==true) {
return "男";
}
else{
return "女";
}
}
public void setSex(boolean sex) {
this.sex = sex;
}
public float getScore() {
return score;
}
public void setScore(float score) {
this.score = score;
}
public Student(){
this("",0,true,0.0f);
}
Student(String name,int age,boolean sex,float score){
this.name=name;
this.age=age;
this.sex=sex;
this.score=score;
}
}
//MainClass.java
package cn.campsg.java.experiment;
public class MainClass {
public static void main(String[] args) {
Student student = new Student("黄世仁",24,true,59.0f);
System.out.println("姓名:"+student.getName());
System.out.println("年龄:" + student.getAge());
System.out.println("性别:" + student.getSex());
System.out.println("分数:" + student.getScore());
}
}