小小初识java(27)-构造方法

  • 构造方法是创建对象的时候调用的方法

  • 构造方法的作用?

    • 构造方法语法的出现是为了方便程序员的开发,可以再创建对象的同时直接给属性赋值

    • 任何一个类都有构造方法,即使我们没有写,系统也会提供一个默认的构造方法,默认的构造方法是无参空体

    • 如果想要在创建对象的时候给所有属性赋值的话,需要自己写一个构造方法,一旦我们写出自己的构造方法之后,默认的无参构造方法将不再提供

  • 构造方法的特点:

    • 没有返回类型,连void都不能写 -》 修饰符 + 方法签名(){}

    • 构造方法的名字需要和类名一模一样的[通常首字母大写]

  • 构造方法的首行....

    • 默认:super():要执行本构造方法之前,先去执行父类的构造方法,默认找父类无参构造方法

      • 如果父类没有无参构造方法

        • 提供父类的无参构造方法

        • 在super()里面传参数,指定他找父类的哪一个构造方法

    • 构造方法的首行还可以出现this()

      • this():要执行本构造方法之前,先去执行本类的其他的构造方法,具体执行本类的哪一个构造方法,看参数类型

  • 构造方法首行的super()/this()只能出现一个

  • super.和this.之间的区别?

    • super.和this.一般出现在普通方法里面,没有位置限制

    • super.在子类调用父类的某个普通属性/普通方法

    • this.当前调用该方法的对象

  • super()和this()之间的区别?

    • super()/this()只能出现在构造方法的首行

    • super():表示要执行本构造方法之前,先去执行父类的构造方法,具体执行父类的哪一个构造方法,看参数类型

    • this():表示要执行本构造方法之前,先去执行本类的其他的构造方法,具体执行本类的哪一个构造方法,看参数类型

  • 构造方法能不能方法重载?

    • 可以重载

  • 构造方法可以方法覆盖吗?

    • 不可以,因为构造方法不能被子类继承

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

探索技术前行者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值