java多个构造函数[重复]
Posted
技术标签:
【中文标题】java多个构造函数[重复]【英文标题】:java multiple constructors [duplicate] 【发布时间】:2015-12-22 15:47:47 【问题描述】:如果我在一个类中有多个构造函数,如何避免为所有构造函数初始化相同的字段重复代码,或者这不是可取的吗?
例如:
class ComparableThing<K extends Comparable<K>>
private int someField;
private Comparator<K> comparator;
public ComparableThing()
this.someField = 0;
this.comparator = Comparator.naturalOrder();
public ComparableThing(Comparator<K> comp)
this.someField = 0;
this.comparator = comp;
有没有办法避免在初始化someField
时出现重复代码,或者这种重复代码是否被认为可以接受/可取?
【问题讨论】:
【参考方案1】:您可以链接构造函数。从更具体的构造函数调用更通用的构造函数。这并不罕见。
class ComparableThing<K extends Comparable<K>>
private int someField;
private Comparator<K> comparator;
public ComparableThing(Comparator<K> comp) // more general constructor
this.someField = 0;
this.comparator = comp;
public ComparableThing()
this(Comparator.naturalOrder());
【讨论】:
以上是关于java多个构造函数[重复]的主要内容,如果未能解决你的问题,请参考以下文章