加构造器(有参的,因为要注入的有值),就必须也要加上无参的构造器
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/176e3797e63aa1609b145c994993c8f2.png)
输出语句得在super下边![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/ec905e64466fa96269cb7c6bca6e4615.png)
调构造器,不用管属性名字是什么,只要知道属性的类型就可以了,所以直接传值就可以了![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/fef159c7550d683c68956a1b6a7eb639.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/7ed1aac22cbbca67090639e8486b35ef.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/f1445717d7f0f5bb46f2b514963ef131.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/cde193fe27113a76fe41ac3b5668c6e7.png)
打印顺序为什么是下边这样的呢???后边会见:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/07795cb8e661149d57b9509908ac3f0f.png)
涉及到了bean的作用域
假如我注视掉他
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/e151fe5dd6cfd2b26606dd89e6cbc659.png)
set方法依然会执行?为啥![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/df0c5f4513b03e6dcb6bb76d4ee65742.png)
还有一种情况
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/068c7bd498488cc1c884fe1bc618ce65.png)
多了一个构造器,在构建一个bean
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/ac7340e11a8af5e5571980df98104c68.png)
我们想要调用构造器创建对象出来![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/ac1b1630e09185a12188f949d59a08b7.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/e70deaf39a62288bf13e6b286cb3da28.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a388950dc0418a424221932427e42729.png)
调用的都是Double的构造器;使用构造器注入的时候产生了歧义。。。。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/ce8609b9f1e0a6f55fcbb5fda7193d58.png)
这两个值都能接受0和10000。。。。。。。。。。。
不要追究什么原因,底层是C语言
来看看怎么解决。。了解两个属性index和type
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/43bce52106759dc18fe23efd79aaad2c.png)
下面是解决后的
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a7c96fad1b68cd7ad9392aa5a4594043.png)
扩展–为啥会选择这个构造器,其实底层就是反射,先从类获取到了所有的构造器,后调用,,for迭代匹配,先得到以后,后边的不在使用
如果类中什么都没有只有构造器,执行顺序为