1.构造方法不能被继承。
2.子类构造方法在没有显式调用父类有参构造方法时会默认调用父类无参构造方法(没有则报错)如:
public class TestA extends Test {
public TestA() {
}
}
public class Test {
private String str;
public Test(String str) {
this.str = str;
}
}
3.一般情况下,使用注解(如@Autowire)获取没有无参构造方法的类的对象时会出错。如:
@Component
public class Test {
private String str;
public Test(String str) {
this.str = str;
}
}
@Autowire
private Test test;
4.对应上一条的非一般情况,只有有参构造方法时,构造方法参数可通过注解获取的,不会报错。如:
@Component
public class Test {
public Test() {
}
}
@Component
public class TestB {
private Test test;
@Autowired
public TestB(Test test) {
this.test = test;
}
}
@Autowire
private TestB testB;