Java eclipse自动getter和setter方法在其他方法中

Java eclipse自动getter和setter方法在其他方法中,java,eclipse,optimization,getter-setter,Java,Eclipse,Optimization,Getter Setter,这是一个简单的类实现 class A{ private int a; public void doSomething() { a = 5; int b = a; /*. . . */ } /* . . . */ } 现在我正在使用EclipseCtrl+1快速修复键绑定和插入get和set方法,代码如下,这是选项1 class A{ private int a; public void doSomething() { setA(5);

这是一个简单的类实现

class A{
private int a;
public void doSomething() {
    a = 5;
    int b = a;
    /*.
      .
      . */
}
/*
.
.
. */
}
现在我正在使用EclipseCtrl+1快速修复键绑定和插入get和set方法,代码如下,这是选项1

class A{
private int a;
public void doSomething() {
    setA(5);
    int b = getA();
    /*.
      .
      . */
}
/*
.
.
. */
public int getA() {
    return a;
}
public void setA(int a) {
    this.a = a;
}
}
但是,如果我想保留字段代码,将是这样的。(选项2)


那么,对于oop或代码组织,哪个选项更好。

如果我理解您的意思,那么您可以使
int setA(int)
返回a,然后可以“链接”方法调用

public int setA(int a) {
  this.a = a;
  return a;
}

public void doSomething() {
  int b = setA(5);
}

如果要在
doSomething
中保留
a
(即
a=5;
)的正常赋值,而不是使用setter(
setA(5)
),请尝试使用重构键binding Alt+Shift+s创建getter和setter,然后选择“生成getter和setter”


如果setter只为字段赋值,那么这两个选项之间应该没有区别。

如果setter所做的不仅仅是set,那么这可能很重要,这些可能的其他行为包括检查参数的适当性,或者为任何对a的状态更改感兴趣的侦听器引发属性更改事件。
public int setA(int a) {
  this.a = a;
  return a;
}

public void doSomething() {
  int b = setA(5);
}