java中的构造函数

Java构造方法详解

java中,类的生成需要构造方法,以下对构造方法进行一些总结。

1 构造方法与一般方法

主要区别体现在以下三个方面:

    (1)修饰符:构造方法可以带有任何访问修饰符(public、private或者protect)或者不带访问修饰符,但是除此之外,构造方法不能带有非访问性质的修饰符,如static、final、abstract等;

    (2)返回类型:普通函数必须含有返回类型,即使没有无返回值,返回类型也是void,而构造方法没有返回类型,void也没有;

    (3)命名方法:构造方法的名称总是与类名相同。一般方法名称可以与类名相同(虽然一般不这么做),此时区分一般方法与构造方法的方法是根据有无返回类型;


2 默认构造方法

    java规定,每个类至少有一个构造方法,因此,若我们自定义的类没有构造方法,java会为我们提供一个不带参数的构造方法(不带参数的构造方法称为默认构造方法),而若用户定义了构造方法,这个默认构造函数就不会自动生成,即使用户定义的不是默认构造方法(不带参数),此时系统也不会再生成默认构造方法,此时系统不再有默认构造方法,而这种情况下我们最好字迹定义一个默认构造方法。


3 this的使用

    实例方法中使用this,指向当前对象,可以调用当前对象的域和方法(但不能调用static方法),而构造函数中的this指向另一个构造函数,是java中在一个构造方法中调用另一个构造方法的方式,值得注意的是,通过this调用其他构造方法的构造方法中,this只能防止第一行,并且只能通过this调用一次其他构造方法。


4 super

    实例方法中的super指向父类,通过其可以调用父类的域或方法,而构造方法中通过super可以调用父类的构造方法。


5 调用顺序

    最后,总结一下初始化的顺序:

    (1)父类的静态成员;

    (2)子类的静态成员;

    (3)父类的非静态成员;

    (4)父类的默认构造函数;

    (5)子类的非静态成员;

    (6)子类的构造函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值