在我们使用类的时候会使用一个特殊的方法叫构造方法,也叫构造器
作用:
1.构造方法就是专门创建对象的方法,当我们在new的时候其实调用的就是构造方法
public 构造方法名(参数){
}
注意:
1.构造方法不能写返回值
2.构造方法名必须和你当前的类名一模一样,大小都得写一样
构造方法是一个方法,那么他可以进行方法重载吗?
可以进行方法重载
构造方法的作用:
1.定义无参构造方法,可以new 对象
2.定义有参构造方法,可以在new对象的同时给属性赋值
注意:
如果类中没有定义构造方法,系统会自动给我提供一个无参的构造方法,
如果类中自己定义了有参构造方法,他会把系统提供的无参构造方法覆盖掉,需要手动再提供一个无参构造方法
School类
public class School {
private String name;//校名
private String address;//地址
//构造方法
public School(){
System.out.println("构造方法执行了");
}
//重载得构造方法
public School(String name1){
name=name1;
}
//第二种使用构造方法给属性赋值
public School(String n,String a){
name=n;
address=a;
}
//第一种使用set方法给属性赋值,只能单个赋值
public void setName(String name1){
System.out.println("一个参数得构造方法执行了");
name=name1;
}
public String getName(){
return name;
}
public void setAddress(String address1){
address=address1;
}
public String getAddress(){
return address;
}
Test School类
public class TestSchool {
public static void main(String[] args) {
// TODO Auto-generated method stub
School sc1=new School("枣庄学院");
System.out.println(sc1.getName());
System.out.println("==========使用set方法给属性赋值================");
//创建school对象
School sc=new School();//new后面这个方法就是构造方法
sc.setName("国际希望小学");
sc.setAddress("山东");
System.err.println("校名:"+sc.getName()+",地址"+sc.getAddress());
System.out.println("======使用构造方法给属性赋值==========");
//new对象的同时给属性赋值,省去了set方法的麻烦,针对多个属性同时赋值的场合
School sc2=new School("北京XX","北京海淀区");
//如果是单个变量值需要改变用set方法
sc2.setAddress("山东济宁");
System.err.println("校名:"+sc2.getName()+",地址"+sc2.getAddress());
}
}