构造函数:可以让对象有不同的值
若一个类中没有定义任何构造函数,则会有一个隐藏的的无参构造函数
权限修饰符 类名(){
return;
}
public class Car{
String band=BYD;
int wheelNumber=4; //显示初始化
public Car(){} //无参构造函数
public Car(String band,int wheelNumber){ //两参构造函数
this.band=band;
this.wheelNumber=wheelNumber;
return;
}
public void run(){
System.out.println(band+":"+wheelNumber);
}
}
public class CarTest{
public static void main(String[] args){
Car c1=new Car("BYD",4);
Car c2=new Car();
Car c3=new Car("AUDIO",16); //针对初始化
c1.run();
c2.run();
}
}
对象的创建流程:
1.在堆内存中开辟一个空间,分配地址
2.对成员变量进行**默认初始化**
3.相应构造函数进栈,先进行**显示初始化**
4.执行构造函数内容,**针对性初始化**
5.构造函数执行完毕,弹栈
6.将对象的地址传给变量
构造函数和成员函数的区别:
调用角度:<