测试是我职业生涯中最喜欢的工作,也希望自己在这个空间里每天进步一点点,改善自己,提高自己。

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:

 

评分:0

我来说两句

日历

« 2024-05-02  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 15660
  • 日志数: 33
  • 图片数: 1
  • 建立时间: 2008-02-18
  • 更新时间: 2008-09-18

RSS订阅

Open Toolbar