美文网首页
Java系列之 - 类的初始化顺序

Java系列之 - 类的初始化顺序

作者: SupKing_a520 | 来源:发表于2020-05-07 19:07 被阅读0次

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

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

普通类

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

继承的子类

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

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

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

接口注意

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

相关文章

  • Java系列之 - 类的初始化顺序

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

  • JAVA之ClassLoader

    JAVA基础系列之ClassLoader 一,Java类的加载、链接与初始化 1,加载:查找并加载类的二进制数据 ...

  • 类初始化和加载过程

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

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

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

  • JAVA的类加载顺序

    理解关于java类的加载顺序 首先来捋一捋java类的加载顺序吧 父类静态代码块 》》静态代码初始化,静态属性(带...

  • 单例:静态内部类和DCL实现

    1.DCL 2.静态内部类 先了解一下java内部类及类加载顺序:变量定义的先后顺序决定初始化顺序,而在不同变量之...

  • Java类的初始化顺序

    Java类的初始化顺序 (静态变量、静态代码块)> 类里的 main()(如果有的话) > (变量、初始化块) >...

  • Java类加载与初始化

    今天复习了一下java类加载时的初始化顺序,先记录一下心得,代码后续补上。 类加载时的初始化顺序 1、一般来说,类...

  • Java和Kotlin类的初始化顺序

    Java Java程序初始化的顺序:父类静态变量 -> 父类静态代码块 -> 子类静态变量 -> 子类静态代码块 ...

  • java构造器初始化与清理

    java构造器初始化先后顺序: 若此类继承于某基类,则先初始化基类,以此类推,找到最基本的父类,先对基类进行初始化...

网友评论

      本文标题:Java系列之 - 类的初始化顺序

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