构造函数用来做什么?
概念性的词汇就老感觉自己说不清楚,只好用自己的理解来表达。
什么是构造函数?
现在个人理解是,它是一个方法,通过这个方法可以构建一个类的实例。
这就是它与普通方法的区别。
构造方法特殊性有:
第一:构造方法必须与类名一致,并且没有返回值。
第二:构造方法可以重载,当类中没有写构造方法时,系统会默认一个无参数构造方法。
第三: 构造方法不能直接被调用,只能通过 new +类名 来创建一个类的实例。
构造函数的作用是什么?
完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。
因此没必要在构造函数里面进行带有逻辑的数据处理,简单值传递就OK了,当然多几个值传递也没事,一眼就能看懂就行,比如:
public AudioTrack(int streamType, int sampleRateInHz, int channelConfig, int audioFormat,
int bufferSizeInBytes, int mode)
throws IllegalArgumentException {
this(streamType, sampleRateInHz, channelConfig, audioFormat,
bufferSizeInBytes, mode, 0);
}
在这个构造函数里面它添加了异常处理。不过它还是一目了然,没有逻辑处理。
总言之,
构造函数要尽量简单,一般进行值传递就OK了。