静态块 简单例子

java中的static{}块的实例详解 主要介绍了java中的static{}块的实例详解的相关资料,这里提供实例来帮助大家理解该如何使用static块,需要的朋友可以参考下 立即下载

一个简单的例子

1. 所有静态的(无论其是变量还是块)都按顺序执行.

2. 所有的非静态的块都在静态的(无论其是变量还是块)后执行.

3. 所有的块(无论是静态的还是非静态的)都在构造之前执行.

4. 静态块在类被加载到内存后就开始执行

5. 非静态块是在创建对象时,构造之前被调用

 
Java代码  收藏代码
  1. public class TestStaticMode {  
  2.     public TestStaticMode() {  
  3.         System.out.println("in structure");  
  4.     }  
  5.   
  6.     static int i = 0;  
  7.   
  8.     {  
  9.         System.out.println("in first no static i=" + i);  
  10.     }  
  11.   
  12.     static {  
  13.         i = 1;  
  14.         System.out.println("in static i=" + i);  
  15.     }  
  16.   
  17.     {  
  18.         System.out.println("in second no static i=" + i);  
  19.     }  
  20.   
  21.     public static void main(String args[]) {  
  22.         TestStaticMode testStaticMode = new TestStaticMode();  
  23.         System.out.println("i=" + i);  
  24.   
  25.     }  
  26. }  
public class TestStaticMode {
	public TestStaticMode() {
		System.out.println("in structure");
	}

	static int i = 0;

	{
		System.out.println("in first no static i=" + i);
	}

	static {
		i = 1;
		System.out.println("in static i=" + i);
	}

	{
		System.out.println("in second no static i=" + i);
	}

	public static void main(String args[]) {
		TestStaticMode testStaticMode = new TestStaticMode();
		System.out.println("i=" + i);

	}
}
 




输出为:
in static i=1
in first no static i=1
in second no static i=1
in structure
i=1 

MATLAB MinGW-w64 C/C++ 编译器 手动安装配置 根据Matlab版本与MinGW版本对应关系,手动安装、配置并测试MinGW 阅读详情

相关推荐

Hopfield神经网络(HNN)详解

Hopfield神经网络是一种比较特殊的网络,它不像一般的神经网络那样有输入层和输出层,并且通过训练来改变神经网络中的参数,最终实现预测、识别等功能。Hopfield网络只有一群神经元节点,所有节点之间相互连接,形式如下: 虽然有些文章会画出像深度神经网络那样有输入输出的图,并且输出后又返回输入,但本质上就是多个节点之间的全连接,也就是上面的图形。Hopfield神经网络主要有两个应用:一是起到类似储存器的作用,也就是我们把多个序列或图片输入这个网络,最终这个网络会以神经元之间连接权重的形式储存这

weixin_60737527的博客 4万+

静态块

构造器是对象的初始化方法,也叫做构造条件 静态块也是初始化代码块,这个代码块在类加载的时候被调用,而且只调用一次(只初始化一次) static{ } //用于初始化类的成员,;用于初始化静态成员 // // // // String name=“abcd”; //name为变量 final String name=“abcd”; //加final 之后变为常量,不可再改变 //一般常量为大写 static final String NAME=“ABDC”; //常量属性 常量与类不在同

qq_43717658的博客 944

Isaac Sim 使用经验(配置要求,云服务器)

Google Colab及AutoDL都是在docker内运行,其中google colab并不支持docker指令,而依照AutoDL的相关文档,AutoDL并不直接提供docker指令。2. Google Colab/AutoDL 不支持图形化界面,图形渲染等任务,所以没有办法使用Omniverse Streaming进行直播,从而更好的对结果进行展示。对于第一点,或许存在直接手动复现镜像的可能,但是考虑到Isaac Sim/Isaac Lab由于比较新,可能不够稳定,因此还是按照官方文档进行部署。

weixin_44211433的博客 4589

关于Java中的静态块讲解

介绍Java中static静态块的特点与使用

记录分享编程与冲浪知识 1644

保姆级教程:DBeaver社区版安装与驱动配置(附阿里云镜像解决下载超时)

本文提供DBeaver社区版的保姆级安装教程,涵盖版本选择、安装路径设置到驱动配置优化。特别针对国内用户遇到的下载超时问题,详细介绍了如何配置阿里云镜像加速驱动下载,确保高效连接MySQL等主流数据库。

weixin_30430169的博客 479

西门子RS485自由口通信Modbus RTU 通信协议

部分西门子的RS485模块不能使用西门子自带的Modbus RTU通信指令,需要通过自己拼接、发送、接收和解析报文完成Modbus RTU通信。通过多次尝试完成该功能: #R_TRIG_Instance(CLK := #触发, Q => #触发上升沿); IF #触发上升沿 THEN // 触发后先将读取完成复位 #读写完成 := 0; END_IF; CASE #功能码 OF 1: // 线圈状态读取 ; 2:

qq_20792765的博客 1万+

java static块_Java静态块学习

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

weixin_42132352的博客 687

用UDP协议在dos命令行里模拟一个聊天程序

/* 需求: 在dos命令行里模拟一个聊天程序 有收数据的部分,和发数据的部分,这两部分需要同时执行。 那就需要用到多线程技术。 一个线程控制收,一个线程控制发。 */ import java.io.*; import java.net.*; class C

s_x_x的记录 1956

JAVA学习三:面向对象进阶

1.封装 1.1封装private 概述: 封装的意义在于保护或者防止代码(数据)被我们无意中破坏。 保护成员属性,不让类外的程序直接访问和修改。 封装原则: 隐藏对象的属性和实现细节,仅对外公开访问方法,并且控制访问级别。 在开发中,为了避免出现逻辑错误,我们建议对所有属性进行封装。 并为其提供setter及getter方法进行设置和取得操作。 1.2 this关键字 //此处为一个全参构造方法,我们要把输入的name赋值给这个对象的name; Person(String name,int age){ n

RichardMLu的博客 407

VisionMaster -Group循环、数组数据格式化

这里创建一个格式化工具,按照自己想要的模式格式化刚刚输出的数据。因为是检测多个物体,所以这里选择输出的是数组。第一次的模板很不满意,反复调整参数也没好,边缘不整齐,强迫症患者受不了。实测如果输入设置太多,会导致模块失效,所以尽量选择需要的少量参数。这里要打开循环使能,循环数值就是高精度匹配的匹配个数。Group输出设置里选择刚刚建立的数据集。左边是主流程,右边是组合模块内部流程。修改采图这里的曝光值,图像提亮一点。建一个数据集,把想要的数据收集起来。用TCP助手测试一下OK。成功得到了想要的数据。

weixin_69505365的博客 4531

WRF所需气象数据的下载方法

#数据下载是个大问题,巧妇难为无米之炊,没有数据就无法模拟啦,疫情期间国外服务器响应慢,打开网页慢都很正常啦~ WRF数据所需要的外部数据分为两种:静态地理数据,grib格式的气象数据(NAM、GFS、RUC、AGRMET等)。静态地理数据可以从WRF官网获得,比较简单,这里不做介绍。所以这篇日志重点介绍的是气象数据的获取。 提前说明,WRF官网不提供气象数据,但WRF官网提供各类气象数据的下载网址链接,所以我们下载一般还是从WRF官网开始。首先进入WRF官网,然后点击WRF ARW Uusres’ .

六出的博客 1万+

工厂模式进阶用法,如何动态选择对象?

工厂设计模式可能是最常用的设计模式之一,我想大家在自己的项目中都用到过。可能你会不屑一顾,但这篇文章不仅仅是关于工厂模式的基本知识,更是讨论如何在运行时动态选择不同的方法进行执行,你们可以看看是不是和你们项目中用的一样?我们通过一个例子,不断迭代带大家理解了工厂模式,工厂模式是一种创建型设计模式,用于创建同一类型的不同实现对象。我们来总结下这种动态选择对象工厂模式的优缺点。容易管理。在添加新的存储类时,只需将该类放入特定包中,在static代码块中注册它自己到工厂中。

m0_71777195的博客 211

反光柱定位算法实战05:Cartographer Landmark融合定位——从原理到实战

本文介绍了CartographerLandmark融合定位方案,该方案将反光柱作为Landmark节点直接融入Cartographer后端优化框架,避免了传统双系统切换导致的位姿跳变问题。文章详细阐述了Landmark的核心原理、数据发布格式(包括ID、坐标、权重等关键字段)以及两种工作模式(建图模式和导航模式)。特别指出组合反光柱作为Landmark可提供方向参考,有效解决镜像歧义问题。该方案通过统一优化框架实现稳定定位,尤其适用于缺乏自然特征的环境,但存在ID匹配不稳定等局限性。整体而言,Cartogr

Studying…… 424

关于Java中的静态块,非静态块,子类父类的静态块,非静态块的执行顺序

1. 什么是静态块?什么时候执行?有什么用? static { }计算机在使用类的时候都会先把这个类的字节码加载到内存中才能使用这个类,由类加载器把类的字节码加载到内存中,这一步就叫类加载。在应用程序的运行的生命周期中时一类只要加载一次就可以了。而静态块就是在类被加载到内存的时候就执行的。 作用:一般用于初始化类中的静态成员。 例如Father类和Son类 package webb;

WebLogic 3269

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【Java】Java中类的初始化顺序(静态方法,静态块,非静态块,最后有流程图)

简介Java中创建对象时类初始化的顺序

qq_61024956的博客 7438

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

java构造块与静态块

最近,在面试题或者面试上老是,提到静态块,静态变量,就仔细了解了下。Java类里普遍存在静态快,构造块,构造函数,具体什么关系呢?静态块:用static申明,JVM加载类时执行,仅执行一次构造块:类中直接用{}定义,每一次创建对象时执行public class Study_static { public static char text = 'a'; //静态对象 public Stud...

zzzzzztt的博客 1万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

java 静态块 非静态块

转自:http://blog.sina.com.cn/s/blog_499b09000100d9rj.html   静态块static block //c4:StaticBlock1.java //author:ZhangHongbin //This program is protected by copyright laws. //Static block.  public cla...

ruowu的专栏 151

java使用intent例子_Java 静态块 Android 中的使用实例

静态块也被称为静态初始化块。静态初始化块是以 static 关键字开头并用大括号括起来的正常的代码块 。下面是一个例子:static {// whatever code is needed for initialization goes here}静态块在 Java 中的使用实例:public class StaticExample{static {System.out.println("This...

weixin_39992665的博客 146

JAVA静态块和非静态块的区别

//静态块(static block):如下所示public class StaticBlock1{       static        {              System.out.println("static block");       }       public static void main(String[] args)       {               System.out.println("main");       }}/**静态块是在类被调用到内存后开始执行的,它

alpha_bowen的专栏 317

静态块真的是类加载的时候执行么?

最近在读java深度历险这本书,书中第二章有个关于静态块执行时机的讨论,这一改我以前的认知啊。 很多博客或是书籍都认为静态块是类加载的时候执行的,真相真的是这样么? 我们先来看两个例子: example 1:  public class Test { public static void main(String[] args) throws Exception { ...

曾经欢天喜地,以为就这样过一辈子 1498

Java基础 静态块、非静态块、构造函数的执行顺序

前言     今天在看Android ContentProvider实现的时候,突然想到了Java类在new的过程中,静态域、静态块、非静态域、非静态块、构造函数的执行顺序问题。其实这是一个很经典的问题,非常考察对Java基础知识的掌握程度。很多面试过程中相信也有这样的问题,趁着周末有时间复习一下。 结论     这里先把整理好的结论抛给大家,然后我在写个程序来验证我们的结论。在Java类被

YQlakers的博客 864

java_自由块(静态块和非静态块)

java中的自由块分为两种: 静态块和非静态块 静态块: 1 public class Test { 2 static int x = 10; 3 //静态块:静态块的执行时机是在class文件装载的时候;静态块只会执行一次 4 //多个静态块的时候,按出现顺序执行 5 static{ 6 x+=5; 7 } ...

abxlep7702的博客 142

java静态块非静态块构造函数的初始化顺序

从一个小Demo入手 public class Demo1 { static Demo1 demo1 = new Demo1(); String name1 = "wkw"; Demo1() { System.out.println("我是构造函数"); } { System.out.println("我是非静态块" + n...

weixin_44130081的博客 444

java静态块

1. java将多个静态初始化动作,组织成一个特殊的“静态子句”,就是静态块。 2. 静态块中的初始化代码会一并执行。 public class StaticBolck1 { // 静态块 static { StaticBolck1 a = new StaticBolck1(); i = 10; ...

bangci6459的博客 210

静态块和非静态块

静态块和非静态块在类中进行声明的时候,都需要一对{}括起来,静态块在外边加一个static关键字。如下例子: public class Test { //静态块 static { System.out.println("This is static block!"); } //非静态块 { System.out.println("This is non-static block

Amy的学习之路 1002
上一篇: 设计模式之Decorator(油漆工) 装饰者模式
下一篇: 网上调研:主流网络技术和设备的性能与市场
idevede
博客等级 码龄12年 147粉丝 47原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值