其他方法中的eclipse自动getter和setter方法

时间:2014-07-12 15:18:31

标签: java eclipse optimization getter-setter

这是简单的类实现

class A{
private int a;
public void doSomething() {
    a = 5;
    int b = a;
    /*.
      .
      . */
}
/*
.
.
. */
}

现在我正在使用eclipse CTRL + 1快速修复键绑定并插入get和set mothod和代码将是这个,这是选项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)

class A{
private int a;
public void doSomething() {
    a = 5;
    int b = a;;
    /*.
      .
      . */
}
/*
.
.
. */
public int getA() {
    return a;
}
public void setA(int a) {
    this.a = a;
}
}

所以哪个选项更适合oop或代码组织。

2 个答案:

答案 0 :(得分:2)

如果您想在a内保留a = 5;(即doSomething)的正常分配,而不是使用setter(setA(5)),请尝试创建getter和setter使用重构键绑定 Alt + Shift + s 然后选择“Generate Getters and Setters”。

如果setter做的唯一事情是将值赋给字段,那么两个选项之间应该没有区别。

答案 1 :(得分:1)

如果我了解你,那么你也可以int setA(int) return a;,然后你可以"链"方法调用

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

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