1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 抽象类的有参与无参构造函数的研究

抽象类的有参与无参构造函数的研究

时间:2018-08-24 07:52:12

相关推荐

抽象类的有参与无参构造函数的研究

即使我们声明一个没有构造函数的抽象类,编译器还会为我们生成一个默认的保护级别的构造函数。子类实例化时(不管是否为带参构造)只会调用所有父类的无参构造函数,而带参构造必须通过显式去调用.调用顺序是先调用抽象类的无参构造函数,如果子类实例化时是使用带餐的构造函数,则再接着调用抽象类的带参构造函数,最后调用子类本身的构造函数。

abstract class Person { //定义一个抽象类,必须被继承public Person(){System.out.println("调用的是父类的无参构造函数");}public Person(int i) {System.out.println("调用的是父类的有参构造函数");}}class Student extends Person {// 想调用父类抽象类的有参构造函数必须先显式声明,然后通过super函数调用Student(int i) {super(i);//必须显示的调用父类构造方法,super代表父类对象System.out.println("子类的有参构造函数\n");}//默认调用父类的无参构造函数,同样必须显式声明Student(){System.out.println("子类的无参构造函数");}}public class Test {public static void main(String[] args) {int i=0;Student 有参 = new Student(i);Student 无参 = new Student();}}

结果:

调用的是父类的有参构造函数

子类的有参构造函数

调用的是父类的无参构造函数

子类的无参构造函数

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。