多态时子类父类构造器,成员变量及方法的调用顺序。
来源:互联网 发布:欧美邮箱数据 编辑:程序博客网 时间:2024/06/07 18:19
父类的静态代码块
子类的静态代码块
父类的构造函数(这个时候成员变量值为java默认初始值)
(在父类构造函数完成之后)给所有成员变量赋值
子类的构造函数
然后执行自定义的方法。
并不执行静态方法。
一些零碎的知识点:
1.Java中除了static方法和final方法(private方法属于final方法)之外,其他所有方法都是后期绑定。
2.在子类中是不能覆盖父类的私有方法的,在调用的时候回仍然执行父类原有的方法。在导出类中对于基类的private方法,最好采用不同的名字。
3.方法如果是静态的就不存在多态,因为他与类相关联而非对象。
4.构造器的调用顺序原因:“构造动作一经发生,那么对象所有部分的全体成员都会得到构建。然而,在构造器内部,我们必须确保所要使用的成员都已经构建完毕。为确保这一目的,唯一的办法就是首先调用基类构造器。那么在进入导出类构造器是,在基类中可供我们访问的成员都得到初始化。”
5.在清理的过程中,务必调用父类的清理方法,否则基类不会被清除。至于顺序和构造时相反,因为导出类的清理可能会调用基类中的方法,所以需要使基类中的构件仍起作用而不应过早地销毁他们。
以上知识点全出自《Java编程思想》。我只是一个小小的总结工。
在这里不得不吐槽一下,有些人把《Java编程思想》里的东西直接拷贝,然后贴上原创,甚至都没有说明出自哪里,这样真的好吗,请尊重原创这2个字。
1 0
- 多态时子类父类构造器,成员变量及方法的调用顺序。
- 子类调用父类构造器时的Java类成员初始化顺序
- java 继承时子类父类的静态非静态成员变量,构造方法,静态代码块的初始化顺序
- 基类构造析构函数、子类构造析构函数和子类成员变量构造析构函数的调用顺序
- 父类调用子类的成员变量
- [C#]父类与子类的静态成员变量、实例成员变量、构造函数的执行顺序
- [C#]父类与子类的静态成员变量、实例成员变量、构造函数的执行顺序
- [C++]父类与子类的静态成员变量、实例成员变量、构造函数的执行顺序
- 有父类的子类实例化时,子类与父类的成员变量,构造函数,代码块的执行顺序
- 子类、父类、静态成员变量,构造函数的执行顺序
- Java父、子类成员变量和方法的调用关系
- Java 子类初始化父类的构造方法 成员变量不支持多态
- 探究JAVA父类子类静态代码块、静态变量、构造方法的执行顺序
- JAVA父类子类静态代码块、静态变量、构造方法的执行顺序
- 【JAVA】探究JAVA父类子类静态代码块、静态变量、构造方法的执行顺序
- JAVA父类子类静态代码块、静态变量、构造方法的执行顺序
- 关于父类构造函数调用子类成员的困惑
- Java多态 实例子类自动调用父类为空的构造方法 成员变量不支持Override 可写,没多态效果
- 根据当前内容 占据一行 inline-block
- HDOJ 4405 Aeroplane chess(期望DP)
- C++面试宝典2011版
- Android开发规范
- 软渲染
- 多态时子类父类构造器,成员变量及方法的调用顺序。
- hdu 5687
- 编程打开系统浏览器跳转到指定网页
- centos6.5_64bit安装mysql5.7.1
- hihocoder#1015 (KMP字符串匹配次数)
- PAT-A 1020. Tree Traversals
- Java反射机制详解
- jQuery中的each方法
- C常用转义字符