我用Java编程了一年,并在去年休息了一些python.我回到了java,我对一些设计方面感到困惑.
假设我有一个几乎可以做所有静态的课程
public class Example{
String list = {{"A", "apple"}, {"B","banana"}, {"C", "can"}}
public static manipulateTheList(){
// do something with the above list
}
public static anotherManipulateTheList(){
// do something with the above list
}
}
它不会让我使用this.list,因为该方法是静态的.但我不认为我应该每次都在方法中定义列表,因为类中的所有方法都将使用相同的列表.
有没有解决方案,这种情况的最佳做法是什么?
解决方法:
您可以将列表声明为静态成员,如果您不打算重新分配,也可以将其声明为final:
private static final String LIST = {{"A", "apple"}, {"B", "banana"}, {"C", "can"}};
您可以参考实例和静态方法中的列表,如下所示:
Example.LIST
请注意,任何实例或静态方法都可以访问它…如果您修改它,更改将反映在任何地方.这就是静态成员如此危险的原因.
标签:java
来源: https://codeday.me/bug/20190608/1199192.html