构造函数特点:
1.函数名与类名相同
2.不能手动调用,创建对象的时候来使用
3.没有具体的返回值
构造函数作用:给对象进行初始化(创建构造对象时所调用的函数)
创建对象都必须要通过构造函数初始化
一个类若没有定义过构造函数,那么该类中会有一个默认的空参数构造函数;若该类中定义了指定的构造函数,则该类中的默认构造函数就没有了。默认格式:函数名(){}
构造函数与一般函数的区别:
1.
构造函数:对象创建时,就会调用与之对应的构造函数,对对象进行初始化;
一般函数:对象创建后,需要函数功能时才会调用。
2.
构造函数:对象创建时,会调用并只调用一次;
一般函数:对象创建后,可以被调用多次。
构造函数可以调用一般函数,一般函数不可以调用构造函数
什么时候定义构造函数呢?
在描述事务时,该事务已存在就具备的一些内容,这些内容就定义在构造函数里
—–this关键字
当成员变量和局部变量重名时,可以用this关键字来区分
this:指代当前对象
注意:
1.this();必须放在构造函数的第一行;
2.this();只能调用本类的构造方法;
3.this();不能进行递归(即不能自己调用自己)
举个例子
public class Fruit {
String name;
String color;
int age=8;
double price;
static String taste;
final static String area="地上";
public Fruit(String name,String color){
this.name = name;
this.color = color;
System.out.println("俩参数构造");
} // 打印结果为:俩参数构造
public Fruit(String taste){
this(); //指下面那个构造函数的调用
System.out.println("一个参数");
}// 打印结果为:无参构造 一个参数
public Fruit(){
System.out.println("无参构造");
}