0Pricing
Java Academy · 课时

封装(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 反馈 — 无需本地设置。

此课程中的所有课时

  1. 类与对象
  2. 字段、方法与构造方法
  3. 封装(getter/setter)
← 返回 Java Academy