有人能告诉我如何在下面的代码中使用getter和setter,并且getter和setter具体是做什么的吗?

8 浏览
0 Comments

有人能告诉我如何在下面的代码中使用getter和setter,并且getter和setter具体是做什么的吗?

public class Perform{\n public static void main(String args[]) throws IOException \n {\n Perform obj = new Perform();\n obj.run();\n }\n \n public void run() throws IOException \n {\n String inputFile = \"c:/file_adress\";\n List field = null;\n String delimiter = \";\";\n String line = \"\";\n BufferedReader br = new BufferedReader(new FileReader(inputFile));\n while((line=br.readLine())!=null)\n {\n field = new ArrayList();\n field = Arrays.asList(line.split(delimiter));\n for (String object : field) {\n System.out.println(\"-->\" + object + \"\\n\");\n }\n }\n }\n}\n现在当我尝试在这段代码上添加getter和setter时,通过右键点击代码然后转到源菜单。它报错-“该操作不适用于当前选择。请选择一个未声明为类型变量或声明了这种字段的类型的字段。”\n有人可以帮我吗,我需要进行哪些更改才能添加getter和setter,以及为什么要使用它们。

0
0 Comments

问题的原因是代码中没有为类变量添加getter和setter方法。解决方法是在代码中为类变量添加getter和setter方法。

在这段代码中,类名为`perform`,它有两个方法`Main()`和`run()`。你在代码中使用的所有变量都是在这两个方法中声明的,因此它们是局部方法变量,而不是类变量。

getter和setter方法允许你通过其他外部类有效地管理对类变量的访问。局部方法变量无法被其他外部类访问。而且,即使是在同一个类中,一个方法中的局部变量也无法直接在另一个方法中访问,因为局部变量只在声明它的方法中有效。

为什么需要getter和setter方法?请阅读这个stackoverflow帖子中给出的解释- [what is the point of getters and setters](https://stackoverflow.com/questions/10407877)

如果你已经得到了你想要的答案,请接受这个答案或你认为最合适的答案。

0
0 Comments

问题的原因是代码中没有封装变量,所以没有必要实现getter和setter方法。解决方法是不需要在这段代码中添加getter和setter方法。

Getters和setters分别用于获取和操作类中封装的变量。由于代码中没有封装变量,因此不需要在代码中实现这些方法。

0
0 Comments

问题的原因是代码中没有声明类级变量,因此无法实现getter和setter方法。解决方法是在类中声明类级变量,然后实现相应的getter和setter方法。

下面是修改后的代码示例:

public class MyClass {
    private int id; // 声明类级变量
    public int getId() { // getter方法
        return id;
    }
    public void setId(int id) { // setter方法
        this.id = id;
    }
}

getter方法返回变量的当前值,setter方法用于更新变量的值。

通过使用getter和setter方法,类的外部环境可以访问类级变量,实现了数据隐藏的目的。在上述代码中,变量id被声明为私有(private),只能通过getId()和setId()方法来访问和更新。

而在原始的代码中,由于没有声明类级变量,所以无法实现getter和setter方法,因此出现了错误信息。

现在你明白了吧!你需要在类中声明类级变量才能实现getter和setter方法。

0