Java构造函数的重载(设置默认参数)

Java不支持默认参数,但可通过构造方法重载来实现。例如,为提高函数通用性,通常会为removeSpace函数提供默认正则表达式。对于构造方法,同样可以进行重载,但不同于普通函数,而是利用this关键字来调用其他构造器以达到类似效果。

众所周知,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;
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值