构造方法是一个特殊的方法
它会在实例化对象时自动调用
构造方法的定义
必须同时满足下面的三个条件
- 方法名与类名相同
- 方法名前面没有返回值类型的声明
- 在方法中不能使用return语句返回值
class Person{
public Person() {
System.out.println("无参的构造方法被调用。。。");
}
}
public class 构造方法 {
public static void main(String[] args) {
Person p = new Person(); //实例化对象
}
}
运行时就会自动调用
构造方法的重载
class Person{
String name;
int age;
//两个参数的构造方法
public Person(String con_name,int con_age) {
name = con_name;
age=con_age;
}
//一个参数的构造方法
public Person(String con_name) {
name=con_name;
}
public void speak() {
System.out.println("大家好,我叫"+name+",我今年"+age+"岁");
}
}
public class 构造方法重载 {
public static void main(String[] args) {
Person p1 = new Person("陈杰");
Person p2 = new Person("李芳",18);
//通过对象p1和p2调用speak()方法
p1.speak();
p2.speak();
}
}
Person类里面定义了两个构造方法,它们构成重载。
在创建p1与p2的时候,由于传入参数的不同,分别调用不同的构造方法。
其中p1只针对name进行赋值,而对age没有赋值,此时age的默认值为0