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