作者:臧圩人 大家在去参加面试的时候,经常会遇到这样的考题:给你两个类的代码,它们之间是继承的关系,每个类里只有构造器方法和一些变量,构造器里可能还有一段代码对变量值进行了某种运算,另外还有一些将变量值输出到控制台的代码,然后让我们判断输出的结果。这实际上是在考查我们对于继承情况下类的初始化顺序的了解。 我们大家都知道,对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序以此是(
1 /* 2 初始化块:普通初始化块、静态初始化块(类初始化块) 3 4 下面程序创建了三个类:Root,Mid和Leaf, 5 者三个类都提供了静态初始化块和普通初始化块, 6 而且Mid类里还是用this调用重载构造区,而 7 Leaf使用super显示调用父类指定的构造器 8 */ 9 class Root 10 { 11 static{ 12 ...
原创
2021-08-30 11:31:11
899阅读
1. 类变量的初始化可通过静态初始化块来进行。 代码放在一对大括号内,大括号前用static修饰:static {……} 一个类可定义1个或多个静态初始化块。 静态初始化块会在加载时调用而且只被调用一次。 属于类的公共域,为该类所有对象共享。so它可看做是类范围内的一种的全局变量。 静态域的值由静
转载
2024-06-27 05:52:57
39阅读
构造方法用于对象的初始化!静态初始化块,用于类的初始化操作!在静态初始化块中不能直接访问非static成员。 注意事项: 静态初始化块执行顺序(学完继承再看这里): 1. 上溯到Object类,先执行Object的静态初始化块,再向下执行子类的静态初始化块,直到我们的类的静态初始化块为止。 2. 构 ...
转载
2021-09-18 23:27:00
146阅读
2评论
在Java中,有两种初始化块:静态初始化块和非静态初始化块。它们都是定义在类中,用大括号{}括起来,静态代码块在大括号外还要加上static关键字。非静态初始化块(构造代码块):作用:给对象进行初始化。对象一建立就运行,且优先于构造函数的运行。与构造函数的区别:非静态初始化块给所有对象进行统一初始化,构造函数只给对应对象初始化。应用:将所有构造函数共性的东西定义在构造代码块中。静态初始化块:作用:
转载
2023-10-14 08:50:56
171阅读
类加载过程 类加载过程中的“类加载”是一个整体的词,主要包括以下三个阶段:加载:通过类加载器经Class文件加载进内存,提取出类的元数据存储在方法区当中,在堆当中生成Class对象。连接:将Java类的二进制代码合并到JVM的运行状态之中的过程。
验证:确保类的信息符合JVM规范,没有危害安全的问题准备:为静态变量分配内存,并初始化默认值
转载
2023-11-23 23:56:54
51阅读
今天无聊,看了一下java语言基础知识,对 实例初始化块,静态初始化块 的执行顺便,有了一点了解,便记下来,方便以后查阅。
在一个类定义中,初始化块,就是一块用 { } 大括号括起来的代码段。但“实例初始化块”只是单单的 大括号,当每次创建一个类的实例时,在调用构造方法前,会先执行这段“实例初始化块”,看到这,应该大概明白“
原创
2011-01-07 11:24:44
1383阅读
点赞
## Java静态代码块初始化
在Java中,我们经常需要对类的成员变量进行初始化操作。通常情况下,我们可以使用构造函数或者赋值语句进行初始化。然而,有时候我们需要在类加载的时候就对成员变量进行初始化,这时就可以使用静态代码块来实现。
### 静态代码块
静态代码块是在类加载的时候执行的特殊代码块,它在类的所有成员变量初始化之前执行。静态代码块使用`static`关键字来修饰,它的语法如下:
原创
2023-12-01 12:02:26
97阅读
# Java 静态块初始化 Map 的深度解析
在 Java 编程中,静态块(static block)是一种强大的初始化机制,可以在类加载的时候执行特定的逻辑。在这篇文章中,我们将探讨如何利用静态块来初始化一个 `Map` 对象,特别适用于需要在类加载时预先加载一些数据的场景。
## 静态块的基本介绍
静态块是一种在类初始化时运行的代码块。它的声明使用 `static` 关键字,一般用来执
原创
2024-09-21 04:38:49
20阅读
1、Java类的静态初始化是什么Java中的静态初始化是指使用 static 关键字定义的代码块,它在类加载时执行,而且在整个类生命周期中只会执行一次。静态初始化块通常用于对类的静态成员(即类变量)进行初始化,还可以执行一些需要在类加载时优先执行的操作。 在类的定义中,静态初始化块通过 static 关键字声明,并使用大括号 {} 包围。当类加载到JVM时,静态初始化块会被执行。如果有多个静态初始
转载
2024-07-10 16:31:55
43阅读
关于初始化块和构造方法的顺序问题一直是一个比较容易混淆的问题,很多初学者都会在此犯迷糊,今天博主就来给大家普及一下这方面的知识。我们首先需要了解初始化块和构造方法的定义。一、初始化块初始化块分为静态初始化块和普通初始化块,本质上是一个代码块和方法体:1.静态初始化块静态初始化块(静态代码块)的格式:static{ };关键字 static:如果将域定义为 static,这个类的所有实例对象将共享这
转载
2023-07-15 20:55:14
234阅读
# Java 静态代码块初始化 List
在 Java 中,静态代码块是一个强大的工具,可以在类加载时对类的静态变量进行初始化。在许多情况下,我们可能需要使用静态代码块来初始化集合类,如 `List`。本文将对此进行详细介绍,同时提供相关的代码示例,并帮助您理解其工作原理。
## 1. 静态代码块简介
静态代码块是类中的一种代码块,旨在初始化静态变量。它在类被加载时执行,仅执行一次。静态代码
原创
2024-10-23 04:54:07
70阅读
本文链接 http://blog.csdn.net/xiaodongrush/article/details/29170099 參考文章 http://my.oschina.net/leoson/blog/103251 1. 一个类中的初始化顺序 (静态变量、静态初始化块)=>(变量、初始化块、构造
转载
2017-04-17 13:15:00
127阅读
2评论
1.多态机制是面向对象技术的精华之一,它是建立在继承基础之上的。所谓多态(polymorphism),可以理解为某一类事物的多种存在形态。多态性是指一个同名方法可能有多种版本在程序中同时存在,使用者使用同一个方法名调用方法,系统会根据具体情况调用方法的不同不版本,从而实现不同的功能,及实现“一个接口...
转载
2012-04-10 21:39:00
140阅读
2评论
# 使用 Java 静态块初始化对象的指南
在 Java 编程中,静态块是一个非常有用的工具。它允许开发者在类加载时执行特定代码,这对于初始化类级别的变量或配置是非常有帮助的。今天,我将教你如何在 Java 中使用静态块来初始化对象。
## 1. 整体流程
在学习如何在 Java 静态块中初始化对象之前,我们需要了解整个流程。以下是我们一起进行的各个步骤。
| 步骤 | 说明
# Java Enum 初始化
在Java中,Enum(枚举)是一种特殊的数据类型,用于定义一组固定的常量。Enum可以在代码中更好地表示和组织一系列相关的常量,这些常量具有特定的含义和用法。在本文中,我们将详细讨论Java Enum的初始化过程,介绍不同的初始化方式,并提供相应的代码示例。
## Enum 的基本用法
在开始讨论Enum的初始化之前,让我们先了解Enum的基本用法。Enum
原创
2023-09-18 20:40:54
216阅读
很有意思的一篇文章1.没有继承静态变量->静态初始化块->变量->变量初始化块->构造方法2.有继承的情况父类静态变量->父类静态初始化块->子类静态变量->子类静态变量初始化块->父类变量初始化->父类变量初始化块->父类构造方法->子类变量初始化->子类变量初始化块->子类构造方法-------...
原创
2021-08-07 12:16:11
1069阅读
# Java Enum初始化流程
在Java中,Enum是一种特殊的类,它代表了一组预定义的常量。在实际开发中,我们经常需要使用Enum来表示一些固定的状态、类型或选项。本文将详细介绍如何初始化Java Enum。
## 1. Enum初始化流程
下面是Java Enum初始化的整个流程,我们可以用一个表格来展示它的步骤:
| 步骤 | 描述 |
| --- | --- |
| 1. 声明
原创
2024-01-04 11:41:40
228阅读
最近写一个配置类打算配置文件的信息 用一个配置类的静态成员保存,所以在静态代码块里读取配置文件。考虑类 加载 后 类静态成员变量与类静态代码块的执行顺序问题。 如果静态代码块先实行 而类的 静态成员变量未执行。那 在静态成员变量初始化之前 就向静态成员变量赋值是不是会出 问题。 经测试 非实例对象 执行的顺序
原创
2014-09-10 09:54:43
711阅读
构造块:在类成员变量区域用大括号括起来的代码,和方法相比没有修饰,没有返回,没有参数;静态块:在构造块前加 static修饰静态代码块:静态块+静态变量非静态代码块:普通类成员变量+构造块程序执行顺序:静态代码块->非静态代码块->类构造方法 1 public class Test {
2
3 static {
4 Sy
转载
2023-10-06 09:48:51
56阅读