问题描述
Public class Example {
private int number;
public Example(int number){
this.number = number;
}
public int getNumber(){
return number;
}
public void setNumber(int number){
this.number = number;
}
public static void main(String[] args){
Example e = new Example(5);
访问自己类中的变量时优先考虑什么;e.number"还是e.getNumber()"?
What is preffered when accessing a variable within its own class;"e.number" or "e.getNumber()" ?
编辑:
我认为最重要的问题是:编译器是否知道您调用的方法是 getter 或 setter.那么,e.setNumber(5);
会和 e.number = 5;
推荐答案
我会说这取决于具体情况.如果该字段很简单,例如 int
并且将来不太可能更改,我将使用 number
而不是 访问它getNumber()
.
I would say it depends on the situation. If the field is something simple such as an int
and unlikely to change in the future, I would access it using number
and not getNumber()
.
如果该字段表示更多涉及的内容,在某些情况下可能会在将来的情况下计算,或者可能在子类中覆盖,getNumber()
是显而易见的选择.
If the field represents something more involved that could in some situation perhaps be computed in future situation or possibly overridden in a subclass, getNumber()
is the obvious choice.
我的经验法则:如果我可以通过 getNumber()
受益,我使用 getNumber()
,否则我使用 number
以保持清晰和简洁.
My rule of thumb: If there is any remote chance that I can benefit from going through getNumber()
I use getNumber()
, otherwise I use number
for clarity and brevity.
这篇关于Java 语言约定;吸气剂/二传手的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!