作者:臧圩人 大家在去参加面试的时候,经常会遇到这样的考题:给你两个类的代码,它们之间是继承的关系,每个类里只有构造器方法和一些变量,构造器里可能还有一段代码对变量值进行了某种运算,另外还有一些将变量值输出到控制台的代码,然后让我们判断输出的结果。这实际上是在考查我们对于继承情况下类的初始化顺序的了解。 我们大家都知道,对于静态变量、静态初始化、变量、初始化、构造器,它们的初始化顺序以此是(
1 /* 2 初始化:普通初始化静态初始化(类初始化) 3 4 下面程序创建了三个类:Root,Mid和Leaf, 5 者三个类都提供了静态初始化和普通初始化, 6 而且Mid类里还是用this调用重载构造区,而 7 Leaf使用super显示调用父类指定的构造器 8 */ 9 class Root 10 { 11 static{ 12 ...
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关键字。非静态初始化(构造代码):作用:给对象进行初始化。对象一建立就运行,且优先于构造函数的运行。与构造函数的区别:非静态初始化给所有对象进行统一初始化,构造函数只给对应对象初始化。应用:将所有构造函数共性的东西定义在构造代码中。静态初始化:作用:
类加载过程        类加载过程中的“类加载”是一个整体的词,主要包括以下三个阶段:加载:通过类加载器经Class文件加载进内存,提取出类的元数据存储在方法区当中,在堆当中生成Class对象。连接:将Java类的二进制代码合并到JVM的运行状态之中的过程。 验证:确保类的信息符合JVM规范,没有危害安全的问题准备:为静态变量分配内存,并初始化默认值
今天无聊,看了一下java语言基础知识,对 实例初始化静态初始化 的执行顺便,有了一点了解,便记下来,方便以后查阅。 在一个类定义中,初始化,就是一用 { }  大括号括起来的代码段。但“实例初始化”只是单单的 大括号,当每次创建一个类的实例时,在调用构造方法前,会先执行这段“实例初始化”,看到这,应该大概明白“
原创 2011-01-07 11:24:44
1383阅读
2点赞
## 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时,静态初始化会被执行。如果有多个静态初始
关于初始化和构造方法的顺序问题一直是一个比较容易混淆的问题,很多初学者都会在此犯迷糊,今天博主就来给大家普及一下这方面的知识。我们首先需要了解初始化和构造方法的定义。一、初始化初始化分为静态初始化和普通初始化,本质上是一个代码和方法体:1.静态初始化静态初始化静态代码)的格式:static{ };关键字 static:如果将域定义为 static,这个类的所有实例对象将共享这
# 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 静态初始化对象之前,我们需要了解整个流程。以下是我们一起进行的各个步骤。 | 步骤 | 说明
原创 9月前
13阅读
# 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
  • 1
  • 2
  • 3
  • 4
  • 5