Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,12 @@
<version>5.4.2</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.6</version>
</dependency>
</dependencies>

<build>
Expand Down
12 changes: 10 additions & 2 deletions src/main/java/com/github/hcsp/encapsulation/Main.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.github.hcsp.encapsulation;

import com.google.gson.Gson;

public class Main {
/*
假设你正在为学校开发一个学生分数记录系统
Expand All @@ -26,7 +28,13 @@ public static void main(String[] args) {
student = deserialize(json);
}
// 序列化:将Student类转换成JSON字符串
public static String serialize(Student student) {}
public static String serialize(Student student) {
Gson gson = new Gson();
return gson.toJson(student);
}
// 反序列化:将JSON字符串转换成Student对象
public static Student deserialize(String json) {}
public static Student deserialize(String json) {
Gson gson = new Gson();
return gson.fromJson(json, Student.class);
}
}
41 changes: 38 additions & 3 deletions src/main/java/com/github/hcsp/encapsulation/Student.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,47 @@

public class Student {
// 请按照Main类的要求,补全本类
/** 姓名 */
/**
* 姓名
*/
private String name;

/** 是否重考。true为重考,falase为非重考。 */
/**
* 是否重考。true为重考,falase为非重考。
*/
private boolean retakingExam;

/** 分数 */
/**
* 分数
*/
private int score;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public boolean isRetakingExam() {
return retakingExam;
}

public void setRetakingExam(boolean retakingExam) {
this.retakingExam = retakingExam;
}

public int getScore() {
return score;
}

public void setScore(int score) {
this.score = score;
}

public boolean isFail() {
int studentScore = getScore();
return studentScore < 60;
}
}