## Java中的静态块
### 1. 流程图
```mermaid
flowchart TD
A[声明类] --> B[编写静态块]
B --> C[编写其他成员变量和方法]
C --> D[创建对象]
```
### 2. 什么是静态块
在Java中,静态块是类中的一个特殊的代码块,它在类加载的过程中被执行,且只执行一次。静态块主要用来完成类的初始化工作,例如加
原创
2023-12-02 11:09:43
52阅读
在java中一共有四个代码块,分别是静态代码块、非静态代码块(普通代码块)、构造块、同步代码块。尽管他们的名字叫法不同但是他们唯一的一个共同点是都用“{ }”括起来。笔者发现网上的文章解释的不够全面,故总结归纳了一番,如有错误欢迎拍砖。 1. 静态代码块 &nb
转载
2023-08-16 20:16:57
100阅读
(一)java 静态代码块 静态方法区别 一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类名直接调用 比如main方法就必须是静态的 这是程序入口 两者的区别就是:静态代码块是自动执行的;
转载
2023-12-20 09:24:11
29阅读
(一)java 静态代码块 静态方法区别 一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类名直接调用 比如main方法就必须是静态的 这是程序入口 两者的区别就是:静态代码块是自动执行的;
转载
2023-08-21 16:38:15
35阅读
目录一.静态与非静态初识:1.为什么会有静态和非静态?2.静态和非静态的定义:二.静态和非静态实例:1.在成员变量处:2.在成员方法处:三.巧记:一.静态与非静态初识:1.为什么会有静态和非静态?解释:Java中的静态和非静态是指成员变量和成员方法的修饰符,Java中有静态和非静态,是为了满足不同的编程需求。2.静态和非静态的定义:静态:(有static)静态变量和方法是属于类的,而不属于类的实例
转载
2023-09-20 22:47:28
23阅读
静态块:
static{
语句1;
语句2;。。。;语句n;
}
main()方法在类加载到内存完成后,才会被执行。所以,main()比静态块要晚执行。
正如非静态成员变量不能在静态方法中使用,同样也不能在
转载
精选
2010-12-13 18:41:11
953阅读
1. 什么是静态块?什么时候执行?有什么用? 1. static {
2.
3. } 计算机在使用类的时候都会先把这个类的字节码加载到内存中才能使用这个类,由类加载器把类的字节码加载到内存中,这一步就叫类加载。在应用程序的运行的生命周期中时一类只要加载一次就可以了。而静态块就是在
类被加载到内存的时候
就执行的。 作用:一般用于初始化类中的静态成员。例如Father类和Son类
转载
2023-08-04 16:35:11
39阅读
static关键字、修饰符 修饰变量、方法、代码块、内部类1.静态变量1)静态变量随着类的加载(方法区的静态常量池)而加载到方法区的静态区,与类同级,也叫类变量,通过类名.形式调用静态变量,也可以通过对象来调用 静态变量。 2)存储在方法区静态区时,系统会默认给静态变量赋予系统默认初始值。 3.类产生的对象共享同一个静态变量。看静态变量是否需要被所有的对象来共享,如果需要就设置成静态变量。 **问
转载
2024-02-04 11:52:18
47阅读
一 般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情 况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类名直接调用
比如main方法就必须是静态的 这是程序入口
两者的区别就是:静态代码块是自动执行的;
静态方法是被调用的时候才执行的.
转载
2023-09-29 17:32:35
70阅读
static是静态修饰符,在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的,而所谓静态就是指在编译后所分配的内存会一直存在,直到程序退出内存才会释放这个空间,也就是只要程序在运行,那么这块内存就会一直存在。主要作用有4种:1.修饰成员方法:例如:class text01{static void method(){......}......}2.修饰成员变量:例如:class text
转载
2023-05-23 15:16:33
126阅读
1、静态代码块static代码块也叫静态代码块,是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,它不在任何的方法体内,JVM加载类时会执行这些静态代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个静态代码块只会被执行一次。静态代码块执行优先级高于非静态的初始化块,它会在类初始化的时候执行一次,执行完成便销毁,它仅能初始化类变量,即st
转载
2023-12-17 11:22:13
39阅读
(一)java 静态代码块 静态方法区别 一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类名直接调用 比如main方法就必须是静态的 这是程序入口 两者的区别就是:静态代码块是自动执行的
转载
2023-08-19 23:34:07
85阅读
开始不明白为什么static里面的输出为什么只能输出一次。后来看了些资料明白了关于静态代码块的用法. (1)java 静态代码块 静态方法区别 一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经
转载
2024-06-25 18:06:59
29阅读
静态变量与实例变量的定义与区别:静态变量:指的是被static修饰的类的变量,被所有类实例对象所共享,在内存中只有一个副本,当且仅当在类初次加载时会被初始化。实例变量:定义在类中但在任何方法之外的变量,未使用static关键字修饰静态变量与实例变量的主要区别:(1)静态变量被所有类实例对象所共享,在内存中只有一个副本,当且仅当在类初次加载时会被初始化。(2)实例变量是实例对象所拥有的,
转载
2023-09-20 22:24:53
110阅读
本文对java中和static关键字相关的静态方法、静态代码块、非静态代码块、静态成员变量的用法进行了详细的总结。1. 静态成员变量声明为static关键词修饰的变量叫做静态成员变量,也叫作全局变量。被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内找到他们。因此,st
转载
2023-09-10 14:59:05
75阅读
作者在学习过程中,遇到了有关静态代码块的现象,故写此博客记录下来。首先先介绍下static概念当在定义类的时候,类中都会有相应的属性和方法。而属性和方法都是通过创建本类对象调用的。当在调用对象的某个方法时,这个方法没有访问到对象的特有数据时,方法创建这个对象有些多余。可是不创建对象,方法又调用不了,这时我们可以通过static关键字来实现。static它是静态修饰符,一般用来修饰类中的成员。sta
转载
2023-11-11 08:31:53
57阅读
静态:关键字:static 概述:优缺点: 优点:使用时不用创建对象,节约了空间。使得代码的简洁。 缺点:局限性(静态方法只能调用静态方法和静态成员变量) 使用场景: 一般情况做工具类使用 ①.如果成员
转载
2023-08-26 02:23:37
125阅读
那么static块到底在什么时候运行的呢?如果了解JVM原理,我们知道,一个类的运行分为以下步骤:1、装载 2、连接 3、初始化其中装载阶段又三个基本动作组成: 1. 通过类型的完全限定名,产生一个代表该类型的二进制数据流 2. 解析这个二进制数据流为方法区内的内部数据结 3. 构创建一个表示该类型的java.lang.Class类的实例 另外如果一个类装载器在预先装载的时遇到缺失或错误的clas
转载
2023-11-27 23:39:09
46阅读
java 静态代码块 静态方法区别
一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类名直接调用 比如main方法就必须是静态的 这是程序入口两者的区别就是:静态代码块是自动执行的
转载
精选
2008-05-28 13:40:40
3482阅读
(一)java 静态代码块 静态方法区别一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类名直接调用比如main方法就必须是静态的 这是程序入口两者的区别就是:静态代码块是自动执行的;静态方
转载
2023-06-18 12:18:55
50阅读