`
BabyDuncan
  • 浏览: 573542 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于java中的static{}块

    博客分类:
  • J2SE
阅读更多
一直以来对static块不是很熟系,今天特意写了两个程序来搞清楚一下:
第一个小程序:
package com.babyDuncan.Sohu;

public class testStatic {

	static
	{
		int x = 5;
	}

	static int x, y;

	public static void main(String[] args) {
		x--;
		myMethod();
		System.out.println(x + y + ++x);
	}

	public static void myMethod()
	{
		y = x++ + ++x;
	}

}


该程序输出为:3
分析如下:
执行main中的x--之后,x值为-1,执行myMethod之后,x为1,y值为0,执行输出语句表达式,该表达式的值为1+0+2=3,所以输出结果是3.
下一个程序会让你更明白其中的道理:
package com.babyDuncan.Sohu;

public class testStatic2 {
	/**
	 * 关于Static{}块的解释:
	 * 只是在执行main之前执行的一些语句而已,并不是说里面的变量就是
	 * static的,没什么特别的。
	 * 临时变量只在static这个大括号中有用。
	**/
	static {
		int x = 8;
		System.out.println("我是static,我有一个变量x="+x);
	}

	static int x;

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println(x);
	}

}

输出结果为:
我是static,我有一个变量x=8
0
相信 现在应该弄清楚怎么回事了吧。
分享到:
评论

相关推荐

    Java中的Static块与静态方法

    浅析Java中静态块与静态方法的区别与联系,执行顺序。

    java中static作用

    static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念……

    java中的static变量,方法,代码块

    java中的static变量,方法,代码块 含例子和解释

    java中static的作用

    static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块

    Java中的static关键字

    细说Java中的static关键字声明的变量、方法、静态块

    Java static静态初始快

    Java static修饰初始块。初级代码,仅供参考学习。

    Static块---马克-to-win Java视频

    Static块 马克-to-win Java视频 静态块 静态块初始化

    Java中static变量作用和用法步骤

    static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。  被static修饰的成员变量和成员方法独立于该类的任何对象。也是说,它不...

    深入浅析Java中Static Class及静态内部类和非静态内部类的不同

    上次有朋友问我,java中的类可以是static吗?我给他肯定的回答是可以的,在java中我们可以有静态实例变量、...当然类也可以是静态的,下面小编整理了些关于java中的static class相关资料分享在脚本之家平台供大家参考

    Java之static用法

    Java之static用法 在Java语言中,static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块

    Static块2---马克-to-win Java视频

    Static块 2---马克-to-win Java视频 java视频 马克Java社区 马克towin

    Java零基础-static关键字.md

    内容概要: 本文介绍了Java中的static关键字的用法和作用。读者将学习静态成员变量和静态方法的定义和使用方式,并了解它们与实例成员变量和实例方法的区别。此外,还将探讨静态代码块和静态内部类的概念及其使用...

    Java程序设计实验11-static、super、final、代码块.docx

    Java程序设计实验11-static、super、final、代码块.docxJava程序设计实验11-static、super、final、代码块.docxJava程序设计实验11-static、super、final、代码块.docxJava程序设计实验11-static、super、final、...

    java static块和构造函数的实例详解

    主要介绍了java static块和构造函数的实例详解的相关资料,希望通过本文能帮助到大家,让大家理解掌握Java static关键字的函数方法,需要的朋友可以参考下

    java中的static{}块的实例详解

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

    Java中static关键字的作用和用法详细介绍

    主要介绍了Java中static关键字的作用和用法详细介绍,本文讲解了static变量、静态方法、static代码块、static和final一块用等内容,需要的朋友可以参考下

    Java之static关键字

    Java开发之static关键字的讲解,废话不多说,直接上代码 一、模板类,里面包括:成员变量、静态变量、普通代码块、静态代码块、普通方法、静态方法、构造函数、静态内部类(包括:成员变量、静态变量、普通代码块、...

    static关键字简介

    在课堂中 已经简要介绍了 static 关键字的使用 我们知道 static 关键字可以用来修饰 类的成员变量 成员方法或者是代码块 下面我们就来说说这个 static 关键字 有时候程序员可能需要定义一个类成员 对它的使用不依赖...

    Java中static作用详解

    主要介绍了Java中static作用,static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,需要的朋友可以参考下

    有关static block静态代码块和单态设计模式

    关于 static 静态代码块的一点东西 静态代码块(static block ),不包含在任何方法体中当类被载入时,自动执行静态代码块,且只被执行一次经常用于类属性的初始化。 这是网上通行的关于静态代码块的定义。 在Java...

Global site tag (gtag.js) - Google Analytics