您的位置:首页 > 编程语言 > Java开发

java 隐式调用和显示调用

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

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则用来显示调用本类中的另一个重载的构造器,这两种构造器只能在构造器中使用,而且出现在构造函数的第一行代码中,因此构造器中两种关键字只能用其中一个,而且每个只能调用一次。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: