美文网首页
类初始化顺序

类初始化顺序

作者: 温一 | 来源:发表于2019-05-29 16:44 被阅读0次

一个类中包含如下几类东西,他们前后是有顺序关系的

静态属性:static 开头定义的属性
静态方法块: static {} 圈起来的方法块
普通属性: 未带static定义的属性
普通方法块: {} 圈起来的方法块
构造函数: 类名相同的方法
方法: 普通方法

初始化顺序

普通类:(无父类)

静态变量
静态代码块
普通变量
普通代码块
构造函数

继承的子类:

父类静态变量
父类静态代码块
子类静态变量
子类静态代码块
父类普通变量
父类普通代码块
父类构造函数
子类普通变量
子类普通代码块
子类构造函数

抽象的实现子类: 接口 - 抽线类 - 实现类

接口静态变量
抽象类静态变量
抽象类静态代码块
实现类静态变量
实习类静态代码块
抽象类普通变量
抽象类普通代码块
抽象类构造函数
实现类普通变量
实现类普通代码块
实现类构造函数
接口注意:

声明的变量都是静态变量并且是final的,所以子类无法修改,并且是固定值不会因为实例而变化
接口中能有静态方法,不能有普通方法,普通方法需要用defalut添加默认实现
接口中的变量必须实例化
接口中没有静态代码块、普通变量、普通代码块、构造函数

相关文章

  • C++对象模型5——对象的构造/析构

    对象的构造/析构顺序 初始化虚基类,按照继承顺序,从左到右,从最深到最浅。 初始化按照继承顺序初始化父类,如果父类...

  • 9道题来理解什么是类的主动引用和被动引用

    剖析类的初始化顺序? 题目: 执行结果: 剖析类的初始化顺序? 先执行父类的方法,再执行子类的

  • 构造器内部的多态方法的行为

    上一篇 :Java类初始化顺序 上一节我们简单总结了类的初始化顺序。父类(静态变量、静态初始化块)>子类(静态变量...

  • [转]Effective C++学习笔记:初始化列表中成员列出的

    类成员的默认初始化顺序是按照声明顺序进行, 如果使用初始化列表初始化成员变量, 则必须按照成员变量的声明顺序进行;...

  • 类初始化顺序

    对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次是(静态变量、静态初始化块)>(变量、初始...

  • 类初始化顺序

    当类第一次加载到内存中的时候初始化 父类静态成员和静态初始化块,按在代码中出现的顺序依次执行。 子类静态成员和静态...

  • 类初始化顺序

    前言 做Java开发将近一年半了,虽然之前系统地学习过Java,但是实践出真知,最近总感觉还有好多知识点没有掌握,...

  • 类初始化顺序

    前些日至写代码的时候又碰到一个问题,类似于这样: 子类调用父类的构造器,传入自身的非静态成员变量,编译器会报错依稀...

  • 类初始化顺序

    一个类中包含如下几类东西,他们前后是有顺序关系的 静态属性:static 开头定义的属性静态方法块: static...

  • 类初始化和加载过程

    一、对象的初始化顺序: java类加载器加载类的顺序:http://blog.csdn.net/crazycode...

网友评论

      本文标题:类初始化顺序

      本文链接:https://www.haomeiwen.com/subject/fgwytctx.html