概念:表现在一个类中,与类的名称相关,不声明返回值的类型的方法
public class Car (){
publicCar(){
}
}
1,构造方法在创建类的对象时,被执行。例如:
Car car=new Car();
2,构造方法可以用于决定类的对象被初始化时需要执行的任务,例如:
public class Car{
public srting color;
public String brand;
public Car (string carColor,string carBrand){
color=carColor;
brand=carBrand;
}
}
public class Test{
public static void main(String[] args) {
Car car = new Car("black", "BMW");
}
}
3,每个类中,如果没有显式的声明构造方法,则编译器会默认自动添加无参的构造方法。
public class Car{
}
public class Car{
public Car(){
}
}
以上两个了中的声明的效果完全是一致的。一旦开发者在设计类时,显式的声明一个或者多个构造方法,则编译器不会再自动添加无参构造方法。
4,在每个子类的构造方法中,编译器都会默认调用父类的无参的构造方法
public class Car{
}
publci class Car{
public Car(){
}
}
publci class Car{
public Car(){
super();
}
}
}
以上三种类的声明完全是等效的。
5,假设某个类中,只有带参数的构造方法
public class Animal{
public Animal (String name);
}
当子类继承这个animal类时,必须显式的调用Animal 类带参数的构造方法
public class Dog extends Animal{
public Dog(){
super("Wangcai");
}
}
构造方法允许重载,同一个类中,可以存在多个构造方法。所以当某个类存在多个构造方法,一旦子类继承它,子类的任何构造方法中必须调用父类中的任意一个构造方法。