`

[转贴]java static 代码块的应用

阅读更多
http://www.54xue.com/viewnews-4863.html
public class Test5 { 
private static int a; 
private int b; 

static{ 
Test5.a=3; 
System.out.println(a); 
Test5 t=new Test5(); 
t.f(); 
t.b=1000; 
System.out.println(t.b); 
} 
static{ 
Test5.a=4; 
System.out.println(a); 
} 
public static void main(String[] args) { 
} 
static{ 
Test5.a=5; 
System.out.println(a); 
} 
public void f(){ 
System.out.println("hhahhahah"); 
} 
} 



运行结果:
3
hhahhahah
1000
4
5
分析:
static 代码块也叫静态代码块,是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,它不在任何的方法体内,JVM加载类时会执行这些静态的 代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次 ( 我记得蓝色之路里就有这么一道类似的变态题目)

-------------------------------------------------------------
http://yahaitt.iteye.com/blog/143457
静态代码块的执行顺序
补充:


在有类内非静态代码块的情况下,执行顺序应该如下:

静态代码块的执行顺序:

1.父类的静态代码块

2.子类的静态代码块

3.父类的非静态代码块

4.父类的构造函数

5.子类的非静态代码块

6.子类的构造函数
================================================
//静态代码块的执行顺序

 
import static java.lang.System.out;

class Bird
{
	
	
	public Bird()
	{
		out.print("b2 ");
	}
	
	{out.print("b1 ");}
	
	static 
	{
		out.print("bs0 ");
	}
}

class Raptor extends Bird
{
	static 
	{
		out.print("rs1 ");
	}
	
	public Raptor()
	{
		out.print("r2 ");
	}
	
	{
		out.print("r3 ");
	}
	
	static
	{
		out.print("rs4 ");
	}
}

public class G015 extends Raptor{
	public static void main(String[] args) {
		out.print("pre ");
		new G015();
		out.println("G015  ");
	}

}


输出结果应为:
bs0 rs1 rs4 pre b1 b2 r3 r2 G015 
分享到:
评论
1 楼 dk101 2010-09-14  
这个很有用哈,设计类时,很有意义,面试时,也经常涉及到的。

相关推荐

    使用Struts2开发Java Web应用程序(转贴)

    Struts2是一个强大的Java Web应用框架,源自WebWork2,结合了Struts1.x的优点,致力于简化企业级应用的开发、部署和维护。它强调在开发过程中提高效率,同时注重部署的简便性和后期维护的便利性。Struts2的易用性...

    flex和java进行CRUD操作(转贴)

    通过以上步骤,我们可以构建一个完整的Flex与Java集成的CRUD应用,实现前后端的有效协同工作,为用户提供丰富的交互体验。在实际开发中,还需要根据项目需求和团队规范,灵活调整架构和设计模式。

    史上最全的转贴代码

    2. **控制流程**:条件语句(if...else)、循环(for、while、do...while)是程序逻辑控制的关键,用于根据条件执行不同代码块或重复执行某段代码。 3. **函数**:函数是JavaScript中可重用的代码块,可以接受参数...

    android和java面试大全集

    史上最全的android和java面试文档集。包括有: java程序员面试宝典.txt Java面试宝典2011版-1C,Java基础部分.doc 三大框架面试题.zip 技术面试题.zip Android笔试题库 C语言终极面试宝典.doc Java笔试题目汇总.pdf ...

    Java SafeEngine API接口说明

    Java SafeEngine API接口说明是上海市数字证书认证中心有限公司开发的数字证书系统的接口说明,旨在提供给开发者使用Java语言开发安全的数字证书应用程序。该API接口提供了丰富的功能,包括基本项获取、密钥库、证书...

    Html处理软件、转贴工具(源代码)

    去除Html中的干扰码等(样例中以轻之国度的干扰码为例) 配置文件语法: 方法类型(整数) 最大匹配长度(整数) 字符串1(删除开头) 字符串2(删除结尾) 方法类型: 1:删除单行 2:删除行与行之间的

    java面试大全(中软国际的大公司)

    通过阅读"java面试题及答案(基础题122道,代码题19道).doc"和"java练_习_题.doc",可以针对性地复习和练习这些知识点,而"JAVA基础笔试.doc"和"中软的面试题(转贴).doc"则可能包含实际的面试题目,可以帮助模拟...

    Axis学习笔记(网页转贴)

    **Axis学习笔记(网页转贴)** Axis是一个开源的Java库,主要用于创建和使用Web服务。它是Apache软件基金会的一部分,广泛应用于开发基于SOAP(简单对象访问协议)的Web服务。本学习笔记将深入探讨Axis在Web服务开发...

    java编程事项(转载收集整理版)

    3. **异常处理**:Java的异常处理机制是通过try-catch-finally语句块来实现的。理解如何正确抛出和捕获异常,以及何时使用特定类型的异常,对于编写健壮的代码至关重要。 4. **集合框架**:Java集合框架包括List...

    论坛转贴源代码

    论坛转贴工具提供常的转换追加,转换覆盖,预览贴子,分析超链接,屏蔽文字,图片,超链接,提供查找,替换等功能,HTML版! 支持IE浏览器,360浏览器,搜狗浏览器,火狐浏览器,谷歌chrome浏览器等主流浏览器,无需...

    易语言源码动网转贴.rar

    易语言是一种基于中文编程的计算机...总的来说,易语言源码动网转贴不仅涵盖了网络编程、数据处理、用户交互等基础知识,还涉及到安全、性能优化等多个领域,对于学习和理解易语言及网络应用开发有着重要的实践价值。

    BFC UBB转贴器

    这是一个类似论坛转贴工具的小程序,可以将剪贴板中的HTML代码转换为论坛支持的UBB代码。 由于现在流行的转贴工具都是基于浏览器的,转换速度比较慢,还得打开浏览器才能使用(同时受到浏览器版本限制)。 <br...

    动易系统的论坛转贴工具

    《动易系统的论坛转贴工具详解与应用》 在互联网信息交流日益频繁的今天,论坛作为用户互动的重要平台,其内容分享与传播的作用不容忽视。动易系统的论坛转贴工具,便是为了解决用户在论坛间便捷分享内容而设计的一...

    电子政务-导电泡棉转贴装置.zip

    4. **案例分析**:可能列举了若干成功应用导电泡棉转贴装置于电子政务系统的实例,分析其在提高系统稳定性、降低维护成本等方面的效果。 5. **技术标准与规范**:介绍相关行业的技术标准,如EMC(电磁兼容性)标准...

    易语言动网转贴.rar

    由于压缩包文件名为“易语言动网转贴.rar”,我们可以推测这可能是一个软件开发资源,包含了一些源代码、教程或者是相关插件。 在易语言中,"动网"通常指的是动网论坛,这是一个曾经非常流行的网络社区平台。"转贴...

    行业分类-设备装置-FPC吸附胶纸转贴组件.zip

    本压缩包文件"行业分类-设备装置-FPC吸附胶纸转贴组件.zip"主要关注的是FPC在实际应用中的一个重要环节——FPC吸附胶纸转贴组件。这个组件在FPC的制造和组装过程中起到关键作用,确保FPC能够稳定地固定在设备上,并...

    ASP与数据库,有用的代码(转贴,摘贴)

    - 在非服务器级别的应用中,Access相较于其他数据库具有更高的执行效率。 #### 五、创建用户密码数据库 1. **步骤**: - 使用Microsoft Access创建一个新的数据库文件。 - 建立两个字段:`id` 和 `psd`,分别...

    脚本之家贴图转换+转贴工具用到的js代码超级推荐

    根据给定的信息,本文将对脚本之家贴图转换+转贴工具中使用的JavaScript代码进行详细解析,并逐一介绍这些函数的功能及其应用场景。 ### 一、`SymError` 函数 此函数用于处理JavaScript中的错误捕获。具体实现是...

Global site tag (gtag.js) - Google Analytics