java构造器_Java中的构造器与super关键字

ed6f90bd66f8ad58d7c6c913f865e97d.png

一、构造器

概括:所谓构造器,就是用来创建一个类的实例,同时也可以对类中的属性进行初始化。
构造器有以下特点:
1.构造器的声明

//构造器的声明


2. 构造器(Constructor)与方法(Method)的区别:构造器:在每次创建对象的时候被调用一次,通俗的说就是,每当出现了new关键字构造器才被调用一次。

方法:只有当对象被创建之后才能调用方法(非静态),方法可以被无限次调用。

3.默认构造器:
开头已经说明,构造器是用来创建对象的一种特殊方法。这里有一种特殊情况,即:当在定义类的时候没有显式的声明构造器的话,那么编译器会自动创建一个无参且方法体也为空的构造器。

二、this关键字

this关键字有以下三个特点:

  • this关键字可以调用本类中的「属性(Field)」
  • this关键字可以调用本类中的「方法(Method)」
  • this关键字可以调用本类中的其他「构造器(Constructor)」

三、super关键字

super关键字和this关键字很像,this关键字是用来调用当前类的某些结构,比如说调用当前类的属性 、方法、构造器。 而super关键字则是去调用当前类的父类的某些结构,比如我想调用父类的属性,就需要使用「super.父类属性名」来实现,方法也是一样的道理。 关于super最关键的一点就是其中super调用构造器的过程,如果当前类的构造器中没有「显式的调用」父类的构造器,那么就会默认调用父类中的那个无参构造器。
这里的设计逻辑是这样,因为子类和父类之间是一种继承关系,作为子类一定要有父类的某些特性,包括属性、方法、构造器,而当我们在使用子类创建对象的时候,是需要对父类的继承过来的各种结构进行初始化的,所以在子类的构造器的第一行会默认出现一个super(),用以调用父类的构造器。
子类对象实例化的过程如下:

154790ec88443bfc493bab6f0c97fb5d.png


最后还需要考虑父类中构造器的类型:

7438206303d37fcdd7f9dd231cd28440.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值