Java基础之构造方法

先举个例子:

public class Date {
    public int year;
    public int month;
    public int day;

    public Date(int year, int month, int day) {
        this.year = year;
        this.month = month;
        this.day = day;
        System.out.println("Date(int,int,int)方法被调用了");
    }
    public void printDate(){
        System.out.println(year+"-"+month+"-"+day);
    }

    public static void main(String[] args) {
        Date date=new Date(2022,2,28);
        date.printDate();
    }

}

输出:

构造方法的特性:

1. 名字必须与类名相同

2. 没有返回值类型,设置为void也不行

3. 创建对象时由编译器自动调用,并且在对象的生命周期内只调用一次(相当于人的出生,每个人只能出生一次)

4. 构造方法可以重载(用户根据自己的需求提供不同参数的构造方法)

关于重载:重载就是一个方法的名字相同,参数列表不同,就构成了重载

(后面还有重写,在给大家介绍)

如果未定义构造方法,编译器会生成一份默认的构造方法,生成的默认构造方法一定是无参的。一旦用户定义,编译器则不再生成。

无参构造方法——给内部成员赋初值

构造方法中,可以通过this调用其他构造方法来简化代码

 public Date() {
        this(2022,2,28);
//        this.year = year;
//        this.month = month;
//        this.day = day;
//        System.out.println("Date(int,int,int)方法被调用了");
    }

 注意:

  • this(...)必须是构造方法中第一条语句
  • 不能形成环

还可以在IntelliJ IDEA中快速生成构造方法

右击鼠标——选择Generate(alt+insert)——选择Constractor(构造方法的意思)——选择成员变量点击OK就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值