java - 当你可以只使用 object.variable 名称来获取或设置时,为什么还要使用 set 和 get 方法?

标签 java object methods get set

我只是想知道使用 set 和 get 方法与仅使用 object.variableName 来设置和获取是否有什么区别?谢谢。

package hello;

public class Helloworld {

int num;

public static void main(String[] args) {
    Helloworld hello1 = new Helloworld();
    Helloworld hello2 = new Helloworld();

    hello1.num = 5;
    System.out.println(hello1.num);

    hello2.setNum(5);
    System.out.println(hello2.getNum());

}

void setNum(int i) {
    this.num = i;

}

int getNum() {
    return this.num;

}
}

最佳答案

主要原因是封装。您希望变量是私有(private)的,并且不能由用户或客户端直接修改,因为它可能会影响系统其他部分的行为。

关于java - 当你可以只使用 object.variable 名称来获取或设置时,为什么还要使用 set 和 get 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29500771/

相关文章:

java - 获取节点子节点时 Android Firebase 实时数据库错误

javascript - 数组中的唯一值

c++ - 如果我没有返回未知类型的东西,我应该返回什么

Android Traceview - 它包含我的无响应应用程序的答案......我认为

javascript - WebSocket Javascript 客户端未从服务器接收消息

java - 如何在模拟对象上使用 setter?

java - 第 :each indexing throwing errors

javascript - 在 JavaScript 中创建 "dictionary of dictionaries"的首选方法

c# - 使用c#的基本对象引用和使用问题

objective-c - float dashPattern[] = {10, 5};