`
hucj
  • 浏览: 8508 次
社区版块
存档分类
最新评论

静态块的总结

    博客分类:
  • java
阅读更多

类装载步骤
在Java中,类装载器把一个类装入Java虚拟机中,要经过三个步骤来完成:装载、链接和初始化,其中链接又可以分成校验、准备和解析三步,除了解析外,其它步骤是严格按照顺序完成的,各个步骤的主要工作如下:

装载:查找和导入类或接口的二进制数据;
链接:执行下面的校验、准备和解析步骤,其中解析步骤是可以选择的;
校验:检查导入类或接口的二进制数据的正确性;
准备:给类的静态变量分配并初始化存储空间;
解析:将符号引用转成直接引用;
初始化:激活类的静态变量的初始化Java代码和静态Java代码块。
初始化类中属性是静态代码块的常用用途,但只能使用一次。

 

 

总结:
对象的初始化顺序:首先执行父类静态的内容,父类静态的内容执行完毕后,接着去执行子类的静态的内容,当子类的静态内容执行完毕之后,再去看父类有没有非静态代码块,如果有就执行父类的非静态代码块,父类的非静态代码块执行完毕,接着执行父类的构造方法;父类的构造方法执行完毕之后,它接着去看子类有没有非静态代码块,如果有就执行子类的非静态代码块。子类的非静态代码块执行完毕再去执行子类的构造方法。总之一句话,静态代码块内容先执行,接着执行父类非静态代码块和构造方法,然后执行子类非静态代码块和构造方法。

注意:子类的构造方法,不管这个构造方法带不带参数,默认的它都会先去寻找父类的不带参数的构造方法。如果父类没有不带参数的构造方法,那么子类必须用supper关键子来调用父类带参数的构造方法,否则编译不能通过。

分享到:
评论

相关推荐

    Java中的Static块与静态方法

    本文将深入探讨Java中的静态块与静态方法,解析它们的区别、联系以及执行顺序,帮助读者更全面地理解`static`关键字在Java中的运用。 ### 静态方法 静态方法是通过`static`关键字声明的,它属于类而不属于类的任何...

    Java中的静态变量静态方法静态块与静态类.docx

    ### Java中的静态变量、静态方法、静态块与静态类 #### 一、静态变量 静态变量,也称为类变量,是定义在类中方法之外的,并且被`static`关键字修饰的变量。这类变量并不属于类的任何实例,而是属于类本身。这意味...

    Java的静态代码块、非静态代码块、构造函数

    总结来说,Java的静态代码块、非静态代码块和构造函数都是在不同阶段和目的下进行对象初始化的工具。理解并熟练运用这些概念,能够帮助开发者编写出更加高效和健壮的代码。在Java学习和开发过程中,掌握这些基础知识...

    静态代码块

    ### 静态代码块与构造代码块的区别 在Java编程语言中,代码块是...总结起来,静态代码块和构造代码块在Java中都有着重要的作用,它们各自适用于不同的场景。理解它们的执行时机和顺序有助于更好地设计和优化程序结构。

    程序员年终总结PPT模板

    “01—工作总结—静态—16套”这个子文件名暗示了这是一套16个不同风格的工作总结模板,每个模板可能都有静态设计,这意味着它们可能不会包含复杂的动画或交互元素,而是更注重内容的呈现和信息的清晰传达。...

    一、静态链表的定义 二、静态链表的设计 三、静态链表的操作 总结 附录 前言 你认识静态链表吗?听起来是不是很陌

    逻辑结构上相邻的数据元素,存储在指定的一块内存空间中,数据元素只允许在这块内存空间中随机存放,这样的存储结构生成的链表称为静态链表。也就是说静态链表是用数组来实现链式存储结构,目的是方便在不设指针...

    生成静态的方法

    总结来说,"静态"关键字在编程中提供了许多有用的特性,如简化代码、优化资源使用以及实现特定设计模式。理解并恰当运用静态方法、变量和类,是编写高效、可维护的代码的关键。然而,过度使用静态元素可能会导致代码...

    个人博客静态页面

    总结来说,"个人博客静态页面"不仅是一种快速搭建网站的方法,也是个人表达、分享知识和建立在线存在感的有效途径。通过选择合适的静态站点生成器、定制主题、优化SEO,并结合各种工具和服务,我们可以创建出既美观...

    Java中static关键字用法总结[借鉴].pdf

    Java 中的 static 关键字是一个非常重要的概念,它可以用来定义静态方法、静态变量和静态块。在 Java 中,静态方法通常在一个类中定义,它们可以在不创建类对象的情况下被调用。静态方法有以下几条限制: 1. 它们仅...

    Java基础知识总结大全

    如果静态代码块与主函数位于同一个类中,则静态代码块会在主函数之前执行。 #### 四、设计模式 设计模式是解决软件设计中常见问题的有效方法。它们是经过验证的设计方案,能够帮助开发者编写更易于理解和维护的...

    C语言中静态和全局的区别

    总结来说,全局变量和静态变量在C语言中都是存储在静态存储区的变量,但它们的作用域和可见性不同。全局变量在整个程序中都可见,而静态变量的作用域限定在声明它们的函数或文件中。静态局部变量可以保持值在多次...

    magento一些总结

    本文将针对标题和描述中提到的"Magento一些总结"进行详细的解析,包括如何在Magento中执行一些基本操作,例如添加模块到侧边栏,调用静态块,以及理解XML布局更新在Magento中的作用。 1. **增加模块到Magento侧边栏...

    Android代码块执行顺序分析总结

    三、代码块总结 在了解代码块执行顺序之后,我们可以总结出一些重要的知识点: 1. 在类第一次调用时,静态代码块只执行一次。 2. 静态代码块和静态方法只能调用静态变量。 3. 非静态代码块和非静态方法可以调用...

    java知识体系总结

    Java知识体系总结 Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现已被Oracle公司收购)于1995年推出。它以其“一次编写,到处运行”的特性闻名,适用于开发跨平台的应用程序,包括桌面应用、企业...

    基于nginx的静态网页部署的实现

    总结一下,基于Nginx部署静态网页的步骤主要包含:配置Nginx的主配置文件,设置监听端口、服务器名称、根目录和默认文件等;创建站点根目录并将静态资源文件放置其中;利用location指令针对不同的请求提供不同的服务...

    网上考试系统总结

    连接的创建被封装到静态代码块中,通过静态方法getConnection获取。 3. **界面设计与控制**:界面使用Swing的BoxLayout布局管理器,使得界面布局美观且易于操作。通过统一字体设置和控制按钮的可用性,确保了用户...

    java基础总结资料

    Java支持静态方法和非静态方法,前者与类关联,后者与对象关联。 6. **数组**:在Java中,数组是一种存储固定数量相同类型元素的数据结构。可以是一维、二维或多维数组。 7. **字符串处理**:Java中的`String`类是...

    static静态变量使用@Value注入方式.md

    #### 五、总结 通过上述分析和示例,我们可以看到,在Spring框架中,虽然不能直接使用`@Value`注解为静态变量注入值,但可以通过定义一个非静态方法并使用`@Value`注解来间接实现这一目标。这种方法不仅避免了潜在...

    java中静态与非静态的区别

    ### Java中静态与非静态的区别 #### 一、静态类与非静态类 ...通过以上总结,我们可以看到Java中的静态与非静态特性在许多方面都有着显著的区别。了解这些区别可以帮助开发者更好地设计和实现高效、可靠的程序。

Global site tag (gtag.js) - Google Analytics