【发布时间】:2015-05-17 04:32:51
【问题描述】:
所以我正在学习 Java(gasp 打赌你永远猜不到),而今天我的重点是确保我正确使用静态方法。
我现在的大型实践计划是客户经理计划,随着我了解越来越多的概念,我会对其进行调整和添加。其中一个组件是打印出添加到系统中的所有帐户的列表。因为这个列表不止一次被调用,所以我创建了一个静态方法,可以调用它来生成它,并将它放在代码中我的 main 方法之上。
我的问题是:我应该这样做吗?为重复的代码部分创建这样的方法是一个好主意/好的编程礼仪吗?如果这两个问题的答案都是肯定的,我应该将其设为静态方法吗?
这是我所说的静态方法的代码:
/**
* accountList() method displays a list of all accounts currently loaded into the program
*/
public static void accountList(){
System.out.println(" ACCOUNT LIST");
System.out.println("NUMBER INFORMATION");
for(int num = 0; num < accountArray.size(); num++){
System.out.println(" " + (num + 1) + " " + accountArray.get(num).getAccountName()
+ " : " + moneyFormat.format(accountArray.get(num).getValue()) + " "
+ accountArray.get(num).getCurrencyType());
}
listMax = accountArray.size();
}
然后这将是我的 main() 方法,并且在我的 main 中会定期调用此方法以生成帐户列表:
public static void main(String[] args){
accountList(); //example of how I would invoke this method
}
那么,我是否正确地解决了这个问题?我正确使用它吗?谢谢。
附言。我的 accountList() 方法与我的 main() 方法在同一个类中,这就是为什么它之前没有类名的原因。这也是我要问的原因,因为我知道“静态”一词的主要目的之一是它可以很容易地从另一个类中访问,所以我不确定它是否需要是静态的,如果它在同一个类中类。
【问题讨论】:
-
是的,创建小的、集中的方法是好的,因为它是一点点逻辑,你可以自己理解。它们是否应该是静态的取决于您使用它们的目的。但是,这种情况看起来不合适,因为您正在改变状态 (listMax),而可变静态状态通常不是一个好主意,因为它基本上是一个全局变量。