封装(getter/setter)
学习如何通过 private 访问权限保护字段,并提供 getter 和 setter 来实现受控访问。
封装(getter/setter) 是 CoddyKit 上的免费 Java Academy 课时。 这是第 3 节课,共 3 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Java Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Java Academy 课程共包含 3 节课。
封装
封装:将字段设为私有,并通过方法控制访问。这样可以隐藏细节并保护状态。
为什么隐藏字段?
隐藏字段可以防止其他代码设置无效值。您可以决定允许进行哪些更改。
获取器
获取器:返回私有字段值的方法。
设置器
设置器:设置私有字段值的方法。您可以在其中添加检查,以阻止无效输入。
优点
优点包括:代码更安全、更容易调试,并且以后可以自由更改类的内部实现,而不会破坏其他代码。
演示:封装
代码:Dog 包含私有字段。获取器返回值,设置器检查有效性。无效年龄会被重置为 0。
public class Main {
// Class with private fields, getters, and setters
static class Dog {
private String name;
private int age;
Dog(String n, int a) {
name = n;
setAge(a); // use setter for validation
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public void setAge(int a) {
if (a >= 0) {
age = a;
} else {
age = 0; // default if invalid
}
}
}
public static void main(String[] args) {
Dog d = new Dog("Buddy", 3);
System.out.println(d.getName() + " is " + d.getAge() + " years old.");
d.setAge(-5); // invalid, will reset to 0
System.out.println("After invalid set, age = " + d.getAge());
}
}
封装检查
快速检查:为什么要将字段设为私有,并使用获取器和设置器?
回顾
回顾:封装 = 私有字段 + 获取器/设置器。这样可以隐藏细节并确保对象安全。
常见问题解答
「封装(getter/setter)」课时是免费的吗?
是的 — 「封装(getter/setter)」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Java Academy 课程的其余内容,请升级到 CoddyKit PRO。 Java Academy 课程共包含 3 节课。
「封装(getter/setter)」这节课中我会学到什么?
学习如何通过 private 访问权限保护字段,并提供 getter 和 setter 来实现受控访问。 你通过在浏览器中直接运行的动手代码来练习 Java Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Java Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Java Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 3 节。
「封装(getter/setter)」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Java Academy 课中编写并运行代码吗?
能。每节 Java Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 类与对象
- 字段、方法与构造方法
- 封装(getter/setter)