java 隐式调用和显示调用

当我们在调用类的构造器来创建对象的时候,首先要调用的是父类的非静态的初始化块,接着会调用构造器,但是父类的构造器可能有多个,也就是重载,当调用完父类的非静态初始化块之后,将会调用的是当前类的非静态初始化块然后是自身的构造函数,调用父类的构造函数就有两种调用的方式,一个是显示调用,另一个是隐式调用,下面通过代码来说一下这两者间的区别。

class Person {
public Person (){
}
public Person (String name){
system.out.println(name);
}
}
class Student extends Person {
public Student{
super ("IT90s最前线");
}
public Student{
this();
}
public Student{

}

}
了解了这段代码的输出情况,你也就是了解了显示调用和隐式调用,这里出现的关键字super,super调用用于显示调用父类的构造器,this则用来显示调用本类中的另一个重载的构造器,这两种构造器只能在构造器中使用,而且出现在构造函数的第一行代码中,因此构造器中两种关键字只能用其中一个,而且每个只能调用一次。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值