`
l4432848
  • 浏览: 255051 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java静态块学习

    博客分类:
  • java
阅读更多

静态块是类里面的构造器,对象有构造器那么类也有构造器,类里面的构造器叫做初始化方法。也就是new一个对象他会经过一个构造器。加载一个类,也有被初始化的一片代码,这个就称之为静态块。一个类里面可以有很多个静态块,静态块的运行过程是,如果一个类里面有多个静态块,那么他是从上到下运行的。如图7.5所示:

  
 

  图7.5

  他是从上到下的运行,但是需要哪一个的时候他就会被加载实例化,但静态块还是从上到下执行。里面可以包含很多代码,但是静态块不能被实例的成员访问。如图7.51所示:

  

 
 图7.51

  静态块是类被加载的时候就会被创建,静态块会被4种方式加载。第一种new对象静态块会初始化激发类被加载。如图7.52所示:

  

 

  图7.52

  第二种访问静态的属性,也会激发类被加载。如图7.53所示:

  

 

  图7.53

  第三种调用里面的静态方法,也会触使类加载起来。如图7.54所示:

  

  图7.54

  第四种用Class.forName(“Test”);可以通过字符串加载起来,这种方式叫做动态加载,也可以触使一个类加载起来。如图7.55所示:

  图7.55

  常量成员不能被初始化加载如图7.56所示:

  图7.56

  打印的是10,但是静态块的东西没有打印出来,那就说明这个类没有被加载起来,因为他是一个静态的常量,静态的常量不属于类的内存,他没有分配在这个类内存里面,他不需要初始化这个类。静态的属性为什么能,因为静态的属性内存必须要分配在这个类里面,所以他会被初始化加载,所以图中的静态块不会被加载起来。

技术分享:www.kaige123.com

  • 大小: 64.8 KB
  • 大小: 30.8 KB
  • 大小: 36 KB
  • 大小: 42.5 KB
  • 大小: 37.9 KB
0
1
分享到:
评论

相关推荐

    Java基础练习题练习下静态块的用处

    在Java编程语言中,静态块(Static Block)是一种特殊的代码段,主要用于类的初始化。它在类被加载到Java虚拟机(JVM)时执行,且只执行...在学习Java基础时,掌握静态块的使用能够帮助我们编写更加高效和整洁的代码。

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

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

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

    Java编程语言中,静态代码块、非静态代码块和构造函数是面向对象设计的重要组成部分,它们在类的初始化和对象创建过程中起到关键作用。本文将深入探讨这些概念,以及它们在实际开发中的应用。 首先,我们来理解静态...

    学习java静态数据初始化.doc

    显式初始化指的是在静态代码块中赋值,例如 `static { x = 10; }`。 在 Java 中,静态变量的初始化顺序是按照它们在类中的定义顺序进行的。如果一个静态变量依赖于另一个静态变量的值,那么这两个变量的初始化顺序...

    Java static静态初始快

    下面是一些关于Java静态初始化块的关键知识点: 1. **执行顺序**:静态初始化块在非静态初始化块之前执行。当类第一次被加载时,JVM会按照它们在源代码中的顺序执行静态初始化块。 2. **类加载机制**:Java类的...

    Java静态代码块加载驱动代码实例

    Java静态代码块加载驱动代码实例 Java静态代码块是一种特殊的代码块,它可以在类加载时被执行,该代码...在本文中,我们通过示例代码详细介绍了Java静态代码块加载驱动代码实例,希望能够对大家的学习和工作有所帮助。

    java基础学习笔记

    - 块初始化(实例块和静态块)。 - 构造器初始化。 - **类初始化方法**:构建对象时域的初始化遵循特定顺序。 以上是根据给定文件内容整理出的关键知识点,这些知识点不仅有助于初学者理解Java的基础概念和技术栈...

    java技术学习文档.docx

    代码块分为静态代码块、实例代码块和构造代码块,它们在程序运行的不同阶段执行,如初始化类或创建对象时。Java的异常处理机制通过try-catch-finally语句来捕获和处理可能出现的错误,确保程序的健壮性。 Java的...

    java学习路线总结.doc

    - **类与对象**:掌握类的定义,理解构造方法、成员变量和局部变量的作用域,学习静态属性、静态方法和静态代码块。 - **继承与多态**:学习继承的细节,包括构造方法的调用,以及多态的实现。 **第四阶段:常用...

    java语言学习六大要点

    学习Java时,应理解如何声明和使用静态成员,以及它们在内存中的存储方式。静态方法常用于工具类或工厂方法,而静态属性则常用来保存类级别的共享数据。 2. 重视接口: 接口在Java中扮演着核心角色,尤其在面向对象...

    Java虚拟机学习资料

    以下是对"深入理解Java虚拟机学习资料"的详细解析: 一、JVM概述 Java虚拟机是Java平台的核心组成部分,它负责加载、验证、执行Java字节码,并管理内存。JVM的设计目标是实现“一次编写,到处运行”。通过JVM,Java...

    CoreJava学习笔记

    ### CoreJava学习笔记 #### 一、JAVA特点与运行原理 **JAVA特点:** 1. **简单性**:Java的设计者们将C++语言中许多不易理解和容易混淆的部分去除,使得Java更容易理解与掌握。 2. **面向对象**:Java几乎一切都...

    java学习笔记

    【Java学习笔记】是针对Java编程语言的一份详尽的学习资料,主要由“圣思源”提供,旨在帮助初学者和进阶者深入理解和掌握Java技术。这份笔记可能包含了从基础语法到高级特性的全面讲解,结合了理论与实践,通过实例...

    包含了Java SE Java学习资料 Java SE学习练习项目源码

    1. **基础语法**: Java是一种静态类型的、面向对象的编程语言,它的基础语法包括变量声明、数据类型(如整型、浮点型、字符型和布尔型)、运算符、流程控制语句(如if-else、switch、for、while循环)以及方法定义等...

    java实战经典学习笔记

    - 静态初始化块。 - **构造方法私有化** - 使用场景和目的。 - **对象数组** - 数组中的元素为对象。 - **内部类** - 内部类的定义。 - 匿名内部类。 - **实例讲解** - 系统登录实现。 - 单向链表实现。 ###...

    java笔记-从浅入深的入门学习

    同时,学习如何使用静态成员和非静态成员,以及理解final关键字的作用。接口和抽象类是实现多态性的重要工具,理解它们的区别和应用场景也是学习的一部分。 异常处理是Java编程中不可忽视的部分,通过try-catch-...

    JAVA学习课件

    5. **异常、日志和断言**(第6章 异常、日志和断言.ppt):异常处理是Java程序健壮性的关键部分,涉及try-catch-finally语句块和异常类。日志记录帮助调试和追踪程序运行状态。断言用于在开发阶段进行调试,确保代码...

    java学习笔记.pdf

    ### Java学习笔记知识点总结 #### 第一章:Java语言入门 - **1.1 Java的诞生** Java由Sun Microsystems公司于1995年推出的一种可移植、面向对象的编程语言。最初的设计目标是为消费电子产品提供一种通用编程语言...

    java视频学习总结

    ### Java视频学习总结知识点 #### 抽象方法与抽象类 在Java中,抽象方法是一种没有具体实现(方法体)的方法,它仅提供方法签名,而具体的实现留给子类完成。一个类如果包含一个或多个抽象方法,那么这个类必须被...

Global site tag (gtag.js) - Google Analytics