java有参构造方法和无参构造方法
一、无参构造方法
1、定义:
如果编写一个javaBean时没有添加无参构造方法,那么编译器会自动添加无参构造方法;
但是如果编写时添加了有参构造方法而未添加无参构造方法,那么编译器只认有参构造方法而不会默认添加无参构造方法,
所以,如果需要使用无参构造方法,一定要在类里面添加.
2、举例:
(1)有4个javaBean --------> Person1.java、 Person2.java、 Person3.java、 Person4.java
public void Person1{
private String name;
private String adrress;
}
public void Person1{
private String name;
private String adrress;
//无参构造方法
public Person(){}
}
public void Person1{
private String name;
private String adrress;
//有参构造方法
public NoParamInfo(String name,String address){
this.name=name;
this.address=address;
}
}
public void Person1{
private String name;
private String adrress;
//无参构造方法
public Person(){}
//有参构造方法
public Person(String name,String address){
this.name=name;
this.address=address;
}
}
(2)测试
@Test
public void testNoParamInfo(){
//这样写,编译器不会报错
Person1 p1=new Person1();
//这样写,编译器也不会报错
Person2 p2=new Person2 ();
//这样写,编译器会报错,原因是无参构造方法被有参构造方法覆盖,编译器不能提供无参构造方法
Person3 p3=new Person3 ();
//这样写,编译器不会报错
Person4 p4=new Person4();
//这样写,编译器不会报错
Person4 p4=new Person4 (“tom”'地球');
}
总结:
1. 在没有构造方法时,系统默认调用无参构造方法
2. 一旦定义有参构造方法,系统不再提供默认构造方法.
3. 如果定义了有参,最好在定义一个无参.