首页 > 代码库 > JAVA继承中的构造器调用
JAVA继承中的构造器调用
关于继承中的构造器调用和调用顺序,做了个小测试,如下:
class People { String name; //2,第二步,调用此无参构造器 public People() { System.out.println("、父类的无参构造器"); } //5,调用此有参构造器 public People(String name) { System.out.println("、父类的有参构造器"); this.name = name; } } class Child extends People { People father; public Child() { System.out.println("、子类的无参构造器"); } //3,创建使历史传递了参数"mike",所以第三步会调用子类有参构造器 public Child(String name) { System.out.println("、子类的有参构造器"); this.name = name; //4,此处创建了People的实例并传递了参数,所以会调用父类有参构造器 father = new People(name + ":F"); } public static void main(String[] args) { System.out.println("子类创建实例时的构造函数调用顺序:"); new Child("mike");//1,创建子类实例,由于Child类没有显示调用People的构造器,所以默认调用People的无参构造器 // new Child();//不传递参数,则第一步调用父类无参构造器,然后调用自身的无参构造器。 } }
当前状态下执行main方法,输出如下内容:
子类创建实例时的构造函数调用顺序:
、父类的无参构造器
、子类的有参构造器
、父类的有参构造器
若子类没有显示调用父类构造器,当子类创建实例时 ,会调用父类的无参构造器,若父类没有无参构造器,则会报错。
本文出自 “明月松间照” 博客,请务必保留此出处http://javawutong.blog.51cto.com/12881544/1922764
JAVA继承中的构造器调用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。