众所周知,java没有办法设置默认参数,只有通过函数的重载的性质来完成对默认参数的设置。
例如:
为了是的函数能最大形式的通用,会传入正则表达式,但在大部分情况下,使用默认的参数就够了,所以就对removeSpace函数进行了重载。
public static String removeSpace(String content){
String defeat = "([^。! :))])\n([^x00-xff])";
return removeSpace(content,defeat);
}
public static String removeSpace(String content,String regex){
String regexStr = "";
if ( regex != null && regex.length() > 0){
regexStr = regex;
}
return content.replaceAll(regexStr, "$1$2");
}
但是如果函数可以重载,那么构造方法可以进行重载吗?
答案是可以的,但是不是类似的函数重载的方式,略有所区别。将使用this来代替构造方法。
public class Article {
public Article(){
super();
}
public Article(String content, String title) {
// TODO Auto-generated constructor stub
this(content,title,"");
}
public Article(String content, String title, String patternFile) {
// TODO Auto-generated constructor stub
init(patternFile);
this.title = title;
this.content = content;
}
}
Java不支持默认参数,但可通过构造方法重载来实现。例如,为提高函数通用性,通常会为removeSpace函数提供默认正则表达式。对于构造方法,同样可以进行重载,但不同于普通函数,而是利用this关键字来调用其他构造器以达到类似效果。
869

被折叠的 条评论
为什么被折叠?



