谁能告诉我如何将 getter 和 setter 放在下面的代码中,以及 getter 和 setter 到底做了什么

Can anyone tell how can i put getter and setter on the below code, and what exactly getter and setter do

public class perform{

    public static void Main(String args[]) throws IOException 
    {
        perform obj = new perform();
        obj.run();
    }
      public void run() throws IOException 
      {
          String inputfile= "c:/file_adress";
          List<String> field = null;
          String delimeter = ";";
          String line="";
          BufferedReader br = new BufferedReader(new FileReader(inputfile));
          while((line=br.readLine())!=null)
          {
              field = new ArrayList<String>();
              field=Arrays.asList(line.split(delimeter));
              for (String object : field) {

                  System.out.println( "-->" + object + "\n");
              }
          }
      }
      }

现在,当我尝试在此代码上放置 getter 和 setter 时,请右键单击该代码,然后转到源菜单。它给出错误 - "The Operation is not applicable to the current selection. Select a field which is not declared as type variable or a type that declares such fields."

任何人都可以帮助我添加 getter 和 setter 以及为什么使用它们需要进行哪些更改。

Getters & Setters 是用于数据隐藏的过程。如果您的 class 有任何 class 级别变量并且无法访问外部环境(因为数据成员通常是私有的),那么访问该数据是通过 getter 和 setter 提供。例如,如果我有一个 class 变量 private int id; 然后通过 getId()setId() 方法提供对该变量的访问。

getter 将 return 变量的当前值,setter 将更新变量的值。

在上面的代码中,您收到错误消息,因为您的 class 没有任何 class 级别变量。您声明的所有变量都是该方法的局部变量,它们对 class.

不可见

Getter 和 setter 分别检索和操作 class 中封装的变量。由于您没有封装变量,因此没有理由在您的代码中实现它们。

您只能为 class 变量添加 getter 和 setter。在您的代码中,class 是 perform,它有两个方法 - Main()run()。您在代码中以及 Main()run() 中使用的所有变量。因此,这些是局部方法变量,而不是 class 变量。

getter 和 setter 方法允许您有效地管理其他外部 class 对 class 变量的访问。您的本地方法变量不会被其他外部 classes 访问。此外,一个方法中的局部变量不能在另一个方法中直接访问,即使它在同一个方法中也是如此 class 因为局部变量仅在声明的方法中有效。

为什么需要这些?请阅读此Whosebug中给出的解释post - what is the point of getters and setters

我遇到了同样的问题。

可能您没有在 class 的源代码区域内正确单击。

您可以通过右键单击项目探索中的 class 名称和 select->source->Generate Getters and Setters...

来解决此错误

发生这种情况的主要原因是在尝试在 main 方法中实现变量时。 尝试将变量写在 main 方法之外并生成 getter 和 setter 方法