规则
- 构造方法没有返回值(不能使用void),但内部可以使用rutern(以结束方法);
- 构造方法的方法名必须与类名一样;
- 构造方法也有访问控制符、参数列表和方法体;
- 同时具备以上条件,一个方法才是构造方法
实例代码:
public class Car {
int speed;
String color;
String name;
String direction;
public Car() {
}
}
在如上代码中,Car类中有一个public Car构造方法。
构造方法的使用
java语法规定,一个类可以有多个构造方法,至少有一个构造方法。在一个类没有任何构造方法时,java编译器会给这个类增加一个默认什么都不做的构造方法。
除了默认构造方法外,可以给Car类一个有实际意义的构造方法,如下代码所示:
public class Car {
int speed;
String color;
String name;
String direction;
public Car() {
}
public Car(String p_name,String p_color) {
//构造方法,用来初始化汽车名字和颜色
this.name=p_name;
this,color=p_color;
}
}
上面实例代码Car类中有两个构造方法,他们的关系是重载。下面给出调用构造方法的例子:
public class TestCarConstructor {
public static void main(String[] args) {
Car anotherCar = new Car("闪电号","银色")
System.out.print("汽车的名字为:")
System.out.println(anotherCar.name)
System.out.print("汽车的颜色为")
System.out.print(anotherCar.color)
}
}
运行以上代码,输出如下:
汽车的名字为:闪电号
汽车的颜色为:银色
创建一个对象的过程:
在遇到new关键字的时候,java会创建出这个new后面紧跟的类的一个对象。然后,java根据紧跟在类后面的参数列表去调用相应的构造方法。
应注意:构造方法可以调用普通方法,普通方法不能调用构造方法。
其他注意事项:
- 留个无参数的构造方法,并在这个方法中给重要属性赋初始值,是个好习惯
- 编译器在编译一个类的时候,只有在那个类没有任何构造方法时,才会给一个类添加一个空的、什么都不做的构造方法。
- 在类的每一个构造方法中都给类的重要属性赋初始值是个好习惯