A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王春晓 中级黑马   /  2013-5-14 09:57  /  925 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 王春晓 于 2013-5-14 11:04 编辑

请问,静态对象的构造方法、普通构造方法和父类的构造方法,在函数执行的时候,顺序是怎样的?

3 个回复

倒序浏览
在调用子类的构造方法时,一定会调用父类的构造方法。
你看看下面例子的注释吧。
  1. class A
  2. {
  3.         A(String s)
  4.         {
  5.                 System.out.println("a");
  6.         }
  7. }
  8. class B extends A
  9. {
  10.         B()
  11.         {
  12.                 super("a");//写在子类构造方法的第一行。
  13.                 //由于父类中没有空参数的构造方法,所以必须得写这一句。
  14.                 //如果父类中有空参数的构造方法,那么可以不写。系统会自动加上。
  15.                 System.out.println("b");
  16.         }
  17. }
复制代码
回复 使用道具 举报
静态对象是全局的,和类有关。怎么能被构造方法初始化呢?
回复 使用道具 举报

首先运行 静态方法,然后是父类的构造方法,最后是普通的构造方法。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马