构造方法
一,概念
创建对象时要执行的方法,在使用New关键字创建对象时给对象的属性进行初始化值。
二,定义构造方法
格式:
权限修饰符 方法名(参数列表){}
方法名必须和类名一致。
构造方法没有返回值。
构造方法在New时会自动执行一次。
三,默认构造方法
每一个类必须拥有一个构造方法,当没有时,编译器会自动创建一个空参构造方法:public class 方法名(){}
四,构造方法调用赋值
//父类:
public class Person{
private String name;
private int age;
//定义出Person的构造方法
public Person(String name,int age){
this.name = name;
this.age = age;
}
}
//测试类:
public class Test{
public static void main(String[] args){
Person p = new Person("张三",20);//调用构造方法赋值
System.out.println(p.getName());
System.out.println(p.getAge());
}
}
五,构造方法的重载
public class Person{
private String name;
private int age;
//定义空参构造方法
public Person(){}
}
六,Super调用父类构造方法
//定义出Person的构造方法
public Person(String name,int age){
this.name = name;
this.age = age;
}
//测试类:
public class Test{
public static void main(String[] args){
//调用无参构造方法,创建对象
Person p1 = new Person();
p1.setName("李四");
p1.setAge(18);
System.out.println(p1.getName());
System.out.println(p1.getAge());
//调用有参构造方法,创建对象
Person p2 = new Person("张三",20);
System.out.println(p2.getName());
System.out.println(p2.getAge());
}
}
七,This、super调用构造方法
1,通过this来完成构造方法之间进行调用。
格式:
this(参数列表)
2,子类继承父类,子类的构造方法第一行存在隐式super(),进行调用父类构造方法。
格式:
Super(参数列表)
如果父类有多个构造方法,子类任意调用一个就可以。
子类所有的构造方法,无论多少个重载,构造方法第一行必须是Super()。