多态时子类父类构造器,成员变量及方法的调用顺序。

父类的静态代码块

子类的静态代码块

父类的构造函数(这个时候成员变量值为java默认初始值)

(在父类构造函数完成之后)给所有成员变量赋值

子类的构造函数

然后执行自定义的方法。

并不执行静态方法。


一些零碎的知识点:

 1.Java中除了static方法和final方法(private方法属于final方法)之外,其他所有方法都是后期绑定。

 2.在子类中是不能覆盖父类的私有方法的,在调用的时候回仍然执行父类原有的方法。在导出类中对于基类的private方法,最好采用不同的名字。

 3.方法如果是静态的就不存在多态,因为他与类相关联而非对象。 

 4.构造器的调用顺序原因:“构造动作一经发生,那么对象所有部分的全体成员都会得到构建。然而,在构造器内部,我们必须确保所要使用的成员都已经构建完毕。为确保这一目的,唯一的办法就是首先调用基类构造器。那么在进入导出类构造器是,在基类中可供我们访问的成员都得到初始化。”

 5.在清理的过程中,务必调用父类的清理方法,否则基类不会被清除。至于顺序和构造时相反,因为导出类的清理可能会调用基类中的方法,所以需要使基类中的构件仍起作用而不应过早地销毁他们。 

 以上知识点全出自《Java编程思想》。我只是一个小小的总结工。


 在这里不得不吐槽一下,有些人把《Java编程思想》里的东西直接拷贝,然后贴上原创,甚至都没有说明出自哪里,这样真的好吗,请尊重原创这2个字。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章