这是简单的类实现
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或代码组织。
答案 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);
}