gpt4 book ai didi

java - 我不明白私有(private)访问修饰符的使用

转载 作者:行者123 更新时间:2023-12-05 06:09:44 25 4
gpt4 key购买 nike

给出的参数是防止外人访问?谁是局外人?

  1. 黑客?
  2. 使用您的代码的人(例如,在团队中工作)

并且,它是否对不属于任何团队的个人程序员有益?例如。比如不小心修改了程序状态。

最佳答案

这里有一个例子可以帮助你理解
假设你想制作一个游戏,其中你有一个有生命值的 Player 类,你想根据玩家的行为来增加或减少生命值
像这样:

 class Player {
public String name;
public int health = 100;

public void addHealth(int amount) {
if(health + amount <= 100){
health = health + amount;
}else {
System.out.println("Invalid amount");
}
}

public void reduceHealth(int amount) {
if(health - amount >= 0){
health = health - amount;
}else {
System.out.println("Invalid amount");
}

}
}

现在,如果您将 health 字段保持为 public,那么您可以随时通过执行以下操作来更改 health

class main {
public static void main(String[] args) {
Player pl1 = new Player();
pl1.health = 50;
}
}

这是因为你已经将health设置为public,但是如果你将health设置为private那么你不能直接改变它。
您将不得不调用一些公共(public)方法,如 addHealth() 或 reduceHealth() 来更改健康值。这也是有益的,因为您可以在这些方法中添加验证,例如,确保健康不超过 100 或低于 0。
但是如果你将健康公开,那么你最终可能会错误地将它更改为错误的值,然后你的游戏就会出现错误。
你会及时意识到封装的重要性

关于java - 我不明白私有(private)访问修饰符的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64675446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com