构造方法--父子继承

本文详细探讨了Java中构造方法的概念、作用、调用时机,以及在子类继承中的使用规则。强调了子类必须调用父类构造方法的重要性,并通过实例展示了构造方法的调用顺序。同时,讨论了构造方法不能被继承或覆盖的原因,并提到了方法覆盖和成员覆盖的规则。
摘要由CSDN通过智能技术生成

构造方法又叫构造函数,也可叫构造器。

含义:每一个类都有构造方法,构造方法与该类类名相同,没有返回值(只要调用构造函数就必须出现在new后面,如果不用new,在eclipse里面会报出没有定义这个方法的错误)

作用:用来构建和初始化该类的对象。

调用时间:在实例化该类的时候被调用(即创建对象/new出一个实例的时候),一般在静态块,非静态块之后调用。

是否必须写:不一定非要写,有需要的时候才写,如果不写系统会默认的加一个隐式的无参构造方法,在实例化该对象的时候被调用。

无参vs 有参:无参构造方法不写的时候系统默认加的叫隐式构造方法,自己写出来是显示无参构造方法。有参的必须是要写出来的,有参构造函数根据参数类型、个数的不同可以写多个。

调用无参构造器构建的对象只有该类的属性,比如构建一个“Person” 这个对象,只能说这个对象有 eyes mouth age 等属性,调用有参构造器构建的对象,可以在构建对象的时候对某些属性赋予特定的值,比如调用有参构造的对象,除了有以上属性外,还可以知道age具体是多大、eyes是单眼皮等属性的具体信息。

 

子类一定要调用父类的构造方法吗?

一定,我的理解是必须有了父亲才会有儿子,所以是儿子实例化,也必须先创建父亲,否则儿子没发诞生,而创建父亲必须调用父类的构造方法完成,所以一定要调用父类的构造方法。

 

任何子类构造方法第一行肯定是this();或者super();两个择一,不能同时都有。  

 this();调用本类的其它构造方法。(传递相应参数调用相应的方法),注:假设调用了另一个构造方法,假设叫法1,因为那个构造方法要先调用父类的,所以这时候也是先调父类的法1,再调自己的法1,然后才执行自己的这个构造方法(不会再调父类的这个构造方法了,因为this和super只能出现一个)  

super();调用父类的构造方法。  

例:

public classFather

{

    public Father(){

        System.out.println("父亲的无参构造方法~~");

    }

   

    public Father(String name){

        System.out.println("父亲的有参构造方法~~");

    }

   

    public Father(String name,int age){

        System.out.println("父亲的有参构造方法~~");

    }

}

 

package gouZaoMethods;

public classSon extendsFather

{

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值