【发布时间】:2014-11-24 16:03:02
【问题描述】:
我正在研究一个示例程序。基本上就是把一个客户注册到一种服务,使用下面的方法,我们就可以提取出某种服务下的客户编号。
我的问题是,这样设计的目的是什么?我认为用户调用第一个方法,第一个方法调用第二个?我们也可以在一个类中拥有同名的方法吗?谢谢!
public ArrayList<Integer> listCustomerNumber(String Service) {
return listCustomer(service, thisYear, thisMonth);
}
ArrayList<Integer> listCustomerNumber(String serviceName, int year, int month) {
ArrayList <Integer> ids = new ArrayList <Integer> ();
Services sd = findServices(serviceName, year, month);
if (sd != null){
ArrayList <Customer> customers = sd.listCustomers();
for (int i=0; i<customers.size(); ++i) {
ids.add(customers.get(i).getId());
}
}
return ids;
}
【问题讨论】:
-
这称为“方法重载”,很常见。阅读docs.oracle.com/javase/tutorial/java/javaOO/methods.html 和谷歌“Java 方法重载”。
-
在您的情况下,这只是为
year和month参数提供默认值的简单方法。这通常只是为了方便。在大多数情况下,您可能会使用当前年份和月份,因此您会调用第一个方法来为您填充 2 个缺失的参数。
标签: java class methods private