构造函数

来源:互联网 发布:全国矢量数据免费下载 编辑:程序博客网 时间:2024/06/05 23:59

构造函数特点:
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("无参构造");    }