- 浏览: 47528 次
- 性别:
- 来自: 深圳
文章分类
出自: http://syniii.blog.sohu.com/81538246.html
一个简单的例子,对于了解块很有帮助哦,呵呵~~~
1.所有静态的(无论其是变量还是块)都按顺序执行.
2.所有的非静态的块都在静态的(无论其是变量还是块)后执行.
3.所有的块(无论是静态的还是非静态的)都在构造之前执行.
4.静态块在类被加载到内存后就开始执行
5.非静态块是在创建对象时,构造之前被调用
测试代码:(仅供参考)
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
一个简单的例子,对于了解块很有帮助哦,呵呵~~~
1.所有静态的(无论其是变量还是块)都按顺序执行.
2.所有的非静态的块都在静态的(无论其是变量还是块)后执行.
3.所有的块(无论是静态的还是非静态的)都在构造之前执行.
4.静态块在类被加载到内存后就开始执行
5.非静态块是在创建对象时,构造之前被调用
测试代码:(仅供参考)
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
发表评论
-
Bat 学习
2010-08-06 16:11 715本人转自:http://blog.csdn.net/it_ma ... -
Mysql忘记root密码的解决办法
2009-06-14 22:37 912出自 : http://www.cnblogs.com/sha ... -
Windows 服务
2009-02-28 00:01 1021出自 : http://www.allwiki.com/wik ... -
桌面图标文字背景无法透明解决办法(非通用)
2008-12-10 21:32 17711. 右击桌面空白处,依次单击“属性/桌面/自定义桌面/web ... -
CHM 无法打开解决方案
2008-12-10 13:12 1850出自:http://blog.csdn.net/r ... -
删除 Myeclipse 遗留的 workspace
2008-10-24 10:41 3819有时因需要而创建多个 workspace 并在它们之间切换,但 ... -
JS的正则表达式
2008-10-06 00:03 557出自 : http://www.iteye.com/topic ... -
JSF javax.crypto.BadPaddingException: Given final
2008-09-24 11:47 2532出自:http://www.mail-archive.com/ ... -
Reading Notes
2008-09-09 09:45 7161. Jsp 页面 动态和静态 include 指令的不同 ... -
HTML 符号大全
2008-08-28 23:54 704出自 : http://blog.csdn.net/icyco ... -
Windwos 验证轻松解决
2008-08-10 09:36 959出自:http://hi.baidu.com/%BA%DAca ... -
Some Likns
2008-07-25 12:51 787sourceforge 镜像:http://mirror.op ... -
MYSQL 字符集问题
2008-05-24 19:30 592出自:http://www.blogjava.net/ ... -
深入浅出URL编码
2008-05-24 16:04 915出自:http://blog.csdn.net/yzh ... -
堆栈和内存的关系(C++)
2008-05-17 15:57 1334出自:http://hi.baidu.com/an ... -
IE与FireFox的js和css几处不同点
2008-05-07 19:12 965出自:http://hi.baidu.com/zj ... -
CSS 实现圆角矩形边框
2008-05-07 00:16 2237出自:http://www.soidc.net/article ... -
Javascript 通过 URL 参数方式传值给 JSP 页面
2008-05-06 23:27 5853<%@ page language="java ... -
在 struts 引用中使用 tiles 模板时,JSP 文件引用外部文件需注意路径问题!
2008-05-06 14:11 2511先给出工程的目录结构: webproject | | ...
相关推荐
Java Static Block Program
System.out.println("Static block is executing..."); } public static void main(String[] args) { System.out.println("Main method started..."); } } ``` 当`Demo`类被加载时,静态代码块首先执行,然后...
静态代码块,也就是`static block`,是Java中的一种特殊构造,它不包含在任何方法内,当类被加载时,静态代码块会被自动执行且仅执行一次。这个特性使得静态代码块成为初始化类静态变量的理想选择。 类加载的过程是...
System.out.println("Static block initialized."); b = a * 4; } public static void main(String args[]) { meth(42); } } ``` 在这个例子中,`meth`方法是一个静态方法,可以直接通过`UseStatic.meth()`...
System.out.println("Static block executed"); } } ``` 在上面的代码中,我们定义了一个静态代码块,它只执行一次,用于初始化静态变量。 静态导入包 Java 中的静态导入包是指使用 static 关键字修饰的导入包,...
System.out.println("Static block is executed."); } } ``` ### 总结 `final`和`static`在Java中都扮演着至关重要的角色。`final`提供了一种方式来确保代码的稳定性和安全性,而`static`则允许创建独立于实例...
System.out.println("Static block executed"); } public static int getCounter() { return counter; } } public static void main(String[] args) { System.out.println(StaticBlockExample.getCounter...
System.out.println("This is a static block."); } public static void main(String[] args) { // 类初次加载时,静态代码块被执行 } } ``` #### 五、静态内部类 ##### 5.1 定义 静态内部类是一种特殊的...
在Java编程语言中,静态块(Static Block)是一种特殊的代码段,主要用于类的初始化。它在类被加载到Java虚拟机(JVM)时执行,且只执行一次。静态块通常用于初始化静态变量或者进行一些类级别的设置工作,而不涉及...
Java中的`static`关键字在编程中扮演着至关重要的角色,它是Java类定义的一部分,用于修饰类的成员变量、成员方法以及代码块。下面我们将详细探讨`static`变量、`static`方法以及`static`代码块的作用和用法。 1. *...
System.out.println("Static block executed."); } } ``` 在这个例子中,`static`代码块在`MyClass`首次被加载到内存时执行,且只执行一次。 理解`static`关键字对于编写高效和可维护的Java代码至关重要。然而,...
public class StaticBlock1 { static { System.out.println("static block"); } public static void main(String[] args) { ... } } static 关键字是 Java 语言中一个非常重要的概念,它可以用来修饰变量、...
Java 中的 `static` 关键字用于声明静态变量和静态方法,这些都是类级别的,与类的实例无关。静态方法可以在不创建对象的情况下被调用,它们通常用于工具类或者类的辅助方法。例如,Java 的 `Math` 类就提供了一系列...
Java编程语言中,类的初始化过程涉及到静态块(static block)、实例块(instance block)以及构造器(constructor)。这些块的执行顺序对于理解和编写复杂的Java程序至关重要,特别是在涉及继承关系时。下面我们将...
这里我们将深入探讨两种类型的初始化块:静态初始化块(Static Initializer Block)和对象初始化块(Instance Initializer Block)。这两种初始化块在创建类实例或加载类时分别扮演着不同的角色。 **静态初始化块**...
System.out.println("Static block initialized."); b = a * 4; } public static void main(String args[]) { meth(42); } } ``` 1. **静态变量**: - `a` 和 `b` 是`UseStatic`类中的`static`变量。这意味...
System.out.println("Father static block"); } public Father() { System.out.println("Father constructor"); } static class Son extends Father { static { System.out.println("Son static block"); ...
}}在Java编程中,`static`和`final`关键字是两个非常重要的概念,它们分别代表了静态和常量的特性。这里我们将深入探讨这两个关键字的使用及其可能遇到的陷阱。 首先,`final`关键字用于声明不可变的变量。在类中...
System.out.println("Static block initialized."); b = a * 4; } static void meth(int x) { System.out.println("x=" + x); System.out.println("a=" + a); System.out.println("b=" + b); } public ...
System.out.println("StaticExample static block2"); } } ``` 在上面的代码中,有两个静态块,它们将在类被加载进内存时执行。 四、静态类(Static Class) 静态类都是内部类,static 不能用于修饰顶级的类。...