我發現自己經常發生以下錯誤。java命名空間衝突
public class Foo{
Bar bar;
public void doSomething(){
Bar bar = makeNewBar();
// bla bla
}
}
其中的錯誤是我想設置Foo的酒吧,而不是本地酒吧。即,我應該說bar = makeNewBar()
,而不是Bar bar = makeNewBar()
。是否有編譯器警告標誌或可以檢測到「命名空間衝突」的東西?如果不是,那麼避免這種情況的好方法是什麼(儘量不要發生錯誤,這顯然是最好的選擇= p)?
我不知道是否有編譯器警告,但任何不錯的IDE應該告訴你,局部變量隱藏實例變量...... – assylias 2013-02-11 16:38:44
使用IDE;他們告訴你這些事情。 – 2013-02-11 16:39:02
[Checkstyle可以檢測到這個。](http://checkstyle.sourceforge.net/config_coding.html#HiddenField) – millimoose 2013-02-11 16:39:31