多态时子类父类构造器,成员变量及方法的调用顺序。
2016-07-31 23:05
357 查看
父类的静态代码块
子类的静态代码块
父类的构造函数(这个时候成员变量值为java默认初始值)
(在父类构造函数完成之后)给所有成员变量赋值
子类的构造函数
然后执行自定义的方法。
并不执行静态方法。
一些零碎的知识点:
1.Java中除了static方法和final方法(private方法属于final方法)之外,其他所有方法都是后期绑定。
2.在子类中是不能覆盖父类的私有方法的,在调用的时候回仍然执行父类原有的方法。在导出类中对于基类的private方法,最好采用不同的名字。
3.方法如果是静态的就不存在多态,因为他与类相关联而非对象。
4.构造器的调用顺序原因:“构造动作一经发生,那么对象所有部分的全体成员都会得到构建。然而,在构造器内部,我们必须确保所要使用的成员都已经构建完毕。为确保这一目的,唯一的办法就是首先调用基类构造器。那么在进入导出类构造器是,在基类中可供我们访问的成员都得到初始化。”
5.在清理的过程中,务必调用父类的清理方法,否则基类不会被清除。至于顺序和构造时相反,因为导出类的清理可能会调用基类中的方法,所以需要使基类中的构件仍起作用而不应过早地销毁他们。
以上知识点全出自《Java编程思想》。我只是一个小小的总结工。
在这里不得不吐槽一下,有些人把《Java编程思想》里的东西直接拷贝,然后贴上原创,甚至都没有说明出自哪里,这样真的好吗,请尊重原创这2个字。
子类的静态代码块
父类的构造函数(这个时候成员变量值为java默认初始值)
(在父类构造函数完成之后)给所有成员变量赋值
子类的构造函数
然后执行自定义的方法。
并不执行静态方法。
一些零碎的知识点:
1.Java中除了static方法和final方法(private方法属于final方法)之外,其他所有方法都是后期绑定。
2.在子类中是不能覆盖父类的私有方法的,在调用的时候回仍然执行父类原有的方法。在导出类中对于基类的private方法,最好采用不同的名字。
3.方法如果是静态的就不存在多态,因为他与类相关联而非对象。
4.构造器的调用顺序原因:“构造动作一经发生,那么对象所有部分的全体成员都会得到构建。然而,在构造器内部,我们必须确保所要使用的成员都已经构建完毕。为确保这一目的,唯一的办法就是首先调用基类构造器。那么在进入导出类构造器是,在基类中可供我们访问的成员都得到初始化。”
5.在清理的过程中,务必调用父类的清理方法,否则基类不会被清除。至于顺序和构造时相反,因为导出类的清理可能会调用基类中的方法,所以需要使基类中的构件仍起作用而不应过早地销毁他们。
以上知识点全出自《Java编程思想》。我只是一个小小的总结工。
在这里不得不吐槽一下,有些人把《Java编程思想》里的东西直接拷贝,然后贴上原创,甚至都没有说明出自哪里,这样真的好吗,请尊重原创这2个字。
相关文章推荐
- 关于JAVA继承类的静态变量、成员变量、父子类构造方法调用顺序的探讨 .
- 关于JAVA继承类的静态变量、成员变量、父子类构造方法调用顺序的研究
- Java中final和多态调用成员变量、成员方法的应用(基础详解)
- Java多态 实例子类自动调用父类为空的构造方法 成员变量不支持Override 可写,没多态效果
- 关于JAVA继承类的静态变量、成员变量、父子类构造方法调用顺序的探讨
- 多态中成员变量与成员方法的调用
- 构造方法的调用顺序和成员变量的初始化时机以及动态绑定
- Java 继承加载顺序 以及 多态中变量和方法
- JavaSE第六十四讲:使用反射机制调用对象的私有方法、访问对象的私有成员变量
- 多态--父子间方法和变量的调用,到底调用的是父亲还是儿子
- Spring的bean中直接调用成员变量出现nullpointexception的解决方法
- java继承中成员变量和方法调用的区别
- Java 成员变量 静态块 构造块 构造方法执行顺序测试
- 上转型对象的成员变量和成员方法的调用
- 子对话框调用主对话框成员变量的几种方法
- Java父、子类成员变量和方法的调用关系
- java 强制转换问题中方法、变量调用问题(多态)
- 多态--父子间方法和变量的调用,到底调用的是父亲还是儿子
- Java类成员变量、普通成员变量、初始化块、构造方法的初始化和执行顺序
- 类继承中子类static成员方法与父类static成员方法调用顺序浅析