一个类,
[code="java"]
public class AA{
public static String a(){a("a")}
public static String a(String p){do something}
public static String b(){b("b")}
public static String b(String p){do something}
}
[/code]
a()和a(p)都是做同一件事。
b()和b(p)都是做同一件事。
只是参数不同而已。
对于以上的写法,个人觉得不是那么的优雅,应该如果改造?
public class AA{
//public static String a(){a("a")}
public static String a(String ... p){do something}
//public static String b(){b("b")}
public static String b(String ... p){do something}
}
楼主可以查一下Java可选参数的用法
这是最优雅的 :D
按照你现在的写法,不是可以把a()与b()去掉吗?
通常这么写,是当一些操作(方法)按照一定参数去做某见事情,但是有时候需要一个默认值,而又不想每次使用默认值的时候都传递这个参数,于是就出现上面这样的写法了...
重载和优雅与否没有直接关系,是否优雅取决于方法的语义(即方法要做的事情)是否满足重载的条件。 如果两个方法做的不是同一件事情,那么就是不优雅的,或者说是很坏的写法。如果是同一件事情,做法本身是可以接受。单纯谈一个方法,和优雅本身相距有点远。