构造函数

构造函数是用于初始化对象的特殊函数,当创建对象时自动调用。如果没有定义构造函数,系统会提供一个默认的无参构造函数。构造函数与成员函数的主要区别在于调用时机和返回值。构造函数在对象创建时调用且无返回值,而成员函数可在对象生命周期内任意时刻调用并可能有返回值。构造函数可以调用成员函数,成员函数也可调用构造函数。如果定义了其他构造函数,系统不再提供默认无参构造函数。具体应用案例包括设计一个StopWatch类,实现秒表的功能,如记录开始和结束时间,计算流逝时间等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

构造函数:可以让对象有不同的值
若一个类中没有定义任何构造函数,则会有一个隐藏的的无参构造函数

权限修饰符 类名(){
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.将对象的地址传给变量

构造函数和成员函数的区别:
调用角度:<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值