1

当他们首先选择参数较少的构造函数时有什么缺点?

此致。

4

1 回答 1

1

注入器尝试根据参数类型信息(并不总是可用)、类中的构造函数列表(包括继承的构造函数)以及它可以提供的可用参数来猜测调用哪个构造函数。在某些框架中,参数是显式提供的,并且注入器不需要解析构造函数,但并非总是如此。

我写了一些简单的构造函数依赖注入代码。当多个构造函数是依赖注入的有效候选者时,它非常类似于正则表达式匹配:假定最长的字符串更具体,因此首先使用。

事实上,注入器假定具有更多参数的构造函数“包装”了具有更少参数的构造函数:

MyClass(A,B){
   // does something with A and B
}

MyClass(A,B,C){
   // should call the previous one
   this(A,B);
   //then does something with C
}

这适用于任何类型的方法(不仅是构造函数)。

于 2013-09-25T05:13:43.453 回答