是否有充分的理由使用陰影字段的參數?什麼是這兩者之間的區別:是否有充分的理由使用陰影字段的參數?
public class Point {
public int x = 0;
public int y = 0;
//constructor
public Point(int a, int b) {
x = a;
y = b;
}
}
和
public class Point {
public int x = 0;
public int y = 0;
//constructor
public Point(int x, int y) {
this.x = x;
this.y = y;
}
}
而如果你使用this
關鍵字沒有在這個例子中的陰影字段(我猜它只是不要)參數:
public class Point {
public int x = 0;
public int y = 0;
//constructor
public Point(int a, int b) {
this.x = a;
this.y = b;
}
}
即使這些字段不是公共的,它們通常會暴露在類的公共API(getters,setters,methods)中,或者是類javadoc中所描述的對象狀態的一部分。使用一致的名字確實有幫助 –