测试是我职业生涯中最喜欢的工作,也希望自己在这个空间里每天进步一点点,改善自己,提高自己。
java学习-lesson4(上)-子类对象实例化过程
上一篇 /
下一篇 2008-02-25 00:37:55
/ 个人分类:java-lesson4(上)
1.分配成员变量的存储空间并进行默认的初始化,就是用new关键字,
产生对象后,对类中的成员变量按第三章的表的对应关系对对象中的成员
变量进行初始化赋值。
2.绑定构造方法参数,就是new Person(实际参数列表)中所传递进的参数赋值给构造方法中
的形式参数变量
Student st= new student("zhangsan",20,"清华大学")
3.在执行构造方法之前,检查构造函数中看有没有this()函数(调用其他的构造方法的函数),如有this()调用,则调用相应的重载构造方法(被调用的重载构造方法又从步骤2开始执行流程),
被调用的重载构造方法的执行流程结束后,回到当前构造方法,当前构造方法直接跳转到步骤6(程序代码不包括super()和this()这样的语句的)
4.如果没有this()这样的函数,就显示或隐式追溯(super()隐藏或显示的意思)调用父类的构造方法(一直到Object类为止,Object是所有java类的最顶层父类,在本章后面部分有详细讲解),父类的构造方法又从步骤2开始对父类执行这些
流程,父类的构造方法的执行流程结束后,回到当前构造方法,当前构造方法继续往下执行。
5.进行实例变量的显式初始化操作,也就是执行在定义成员变量时对所进行赋值的语句,如:
public String school="unkown";
6.执行当前构造方法的方法体重的程序代码。
1)为什么super() 和this()调用语句不能同时在一个构造函数里出现?
有了this()再有super()就没有意义了
2)为什么super() 和this()调用语句只能作为构造函数中的第一句出现?
收藏
举报
TAG: