Java 在类中更改字段的正确方法?

Java 在类中更改字段的正确方法?,java,oop,getter-setter,Java,Oop,Getter Setter,所以我最近学会了如何使用类,我不确定在类中更改字段的最佳方法是什么 我的意思是,我知道当我在另一个类中更改它时,我会执行类似example.setX(0)的操作来更改该类中的X值,因为它是一个私有变量。但是,使用该类中的代码更改值的更好方法是什么,我应该只执行x=0、setX(0)还是这个.setX(0)?更为公认的方法是什么 this.setX(0) 确保包含更改变量所需的附加逻辑(如果您将x设置为,您需要检查y?)。而这个清楚地表明变量就在这里 确保包含更改变量所需的附加逻辑(如果您将x设

所以我最近学会了如何使用类,我不确定在类中更改字段的最佳方法是什么

我的意思是,我知道当我在另一个类中更改它时,我会执行类似example.setX(0)的操作来更改该类中的X值,因为它是一个私有变量。但是,使用该类中的代码更改值的更好方法是什么,我应该只执行x=0、setX(0)还是这个.setX(0)?更为公认的方法是什么

this.setX(0)
确保包含更改变量所需的附加逻辑(如果您将x设置为,您需要检查y?)。而
这个
清楚地表明变量就在这里


确保包含更改变量所需的附加逻辑(如果您将x设置为,您需要检查y?)。而且
这个
清楚地表明了变量就在这里。

如果您想避免调用setter的麻烦,并且您确信setter中“永远”不会有比赋值更多的内容,那么调用

x = 0;

如果您想避免调用setter的过度,并且您确信setter中“永远”不会有比赋值更多的内容,那么可以调用setter

x = 0;

如果您的类中有一个私有全局变量x,您可以这样做

x = 0; //If you don't have another variable x defined for the method, if you do use

this.x = 0; 

如果您的类中有一个私有全局变量x,您可以这样做

x = 0; //If you don't have another variable x defined for the method, if you do use

this.x = 0; 

您不需要通过setter进行设置,只需写入x=0;您需要getter和setter来访问其他类中的变量。

您不需要通过setter进行设置,只需写x=0;您需要getter和setter来访问其他类中的变量。

典型的方法是在类中使用普通赋值:

x = 5;
在课外使用getter/setter

object.setX(5);

典型的方法是在课堂上使用普通作业:

x = 5;
在课外使用getter/setter

object.setX(5);

没有“正确的方法”,但每种方法都有其优点和缺点(参见答案)可能重复:没有“正确的方法”,但每种方法都有其优点和缺点(参见答案)可能重复:如果你已经在课堂上,封装是不相关的。如果你已经在课堂上,封装是不相关的,Java中没有全局变量。可能你指的是实例变量。Java中没有全局变量。可能您指的是实例变量。