- 浏览: 33940 次
- 性别:
- 来自: 北京
最新评论
public class StaticVar { private static StaticVar sv = new StaticVar(); public static int i; public static int j = 0; private StaticVar() { i ++; j ++; } public static StaticVar getInstance(){ return sv; } public static void main(String[] args) { //StaticVar sv = StaticVar.getInstance(); System.out.println("i = " + i); System.out.println("j = " + j); } }
使用javap -v 反编译后关于静态区的内容
static {};
Code:
Stack=2, Locals=0, Args_size=0
0: new #14; //class StaticVar
3: dup
4: invokespecial #15; //Method "<init>":()V
7: putstatic #4; //Field sv:LStaticVar;
10: iconst_0
11: putstatic #3; //Field j:I
14: return
LineNumberTable:
line 2: 0
line 4: 10
发表评论
-
RSA Public Key Cryptography in Java
2010-12-20 14:39 1176Public key cryptogr ... -
程序执行时间估算
2010-12-09 11:53 840一直以来没有对程序执行的时间不是很清楚,今天大概研究了一下,为 ... -
java.io.StreamCorruptedException: invalid type code: 31
2010-12-02 13:46 2285A user-settable boolean to dete ... -
eclipse jdt 编译的bug
2010-11-26 16:35 726先上代码 class MyException extend ... -
架构师给程序员的一封信
2010-11-16 15:25 706某Architect给他的Engineer ... -
成功开发iPhone软件的10个步骤
2010-10-28 13:27 781一年前斯坦福和Apple ... -
10 个最酷的 Linux 单行命令
2010-10-27 22:08 728下面是来自 Commandlinefu 网站由用户投票决出的 ... -
Root exception is java.rmi.UnmarshalException: failed to unmarshal class weblogi
2010-09-02 16:40 2263Found a cause the problem. Ther ... -
程序安装apk
2010-09-02 09:30 1395Intent i = new Intent(Intent ... -
java class 文件反编译分析
2010-08-04 09:11 892javac Test.java javap -c Test ... -
Cannot find value in class indicator mapping in parent descriptor
2010-06-09 19:37 1506Cannot find value in class ... -
Android adb error: “device not found” on Ubuntu
2010-05-29 13:18 5530I've been getting this error ... -
java远程调试异常捕捉不到
2010-05-24 14:17 833再远程调试的时候出现了异常,但是无法知道相关异常信息,把代码放 ... -
11月编程语言排行榜:C语言的耐力基因
2009-11-11 15:40 584Tiboe近日发布了新一期 ... -
google推出开源go语言
2009-11-11 11:15 318go语言官网 http://golang.com go语言h ... -
GWT Unable to load Mozilla for hosted mode
2009-09-29 09:05 195在运行gwt的sample时 [java] ** Unab ... -
安装JRuby时出现系统找不到指定的路径
2009-09-29 00:02 137今天在配置JRuby时,运行jruby -v ,出现" ...
相关推荐
详细介绍了Java的静态成员变量、静态数据块、非静态成员变量和非静态成员变量等初始化顺序
总之,理解并有效地使用静态和对象初始化块是Java开发中的关键技能,它们可以帮助我们更好地控制类和对象的初始化过程,确保代码的高效性和正确性。在实际编程中,我们应该根据需求谨慎选择合适的初始化策略,以优化...
3. **父类静态成员变量及初始化块**:如果当前类继承自另一个类,则父类的静态成员变量和静态初始化块会在子类之前被初始化。 4. **实例成员变量的默认初始化**:创建对象时,默认情况下,实例成员变量会被初始化为...
在 Java 中,数组的初始化可以分为静态初始化和动态初始化。 静态初始化是指在定义数组时同时初始化数组的值,例如:`int[] a = {1, 2, 3};`。 动态初始化是指在定义数组时不初始化数组的值,而是在后续的代码中...
java语言中静态成员是指属于类的成员,而不是属于实例的成员。静态成员可以被所有实例共享,在程序中只有一份拷贝。静态成员包括静态变量、静态方法和静态初始化块。 1、静态变量 静态变量是指属于类的变量,它们...
- 在类的静态成员初始化完成之后,才会执行类的非静态成员初始化。 - 最后执行类的构造函数来创建对象。 3. **静态与非静态初始化的区别**: - 静态初始化发生在类被加载时,而非静态初始化则发生在每个对象被...
这意味着静态成员和静态初始化块对于所有类的实例都是共享的,而实例成员和实例初始化块则是每个对象独有的。 在面试中,面试官可能会通过这种类型的题目来评估应聘者对Java内存模型的理解,以及他们在编写代码时...
静态初始化块用于初始化类级别的静态变量,它们只在类加载时执行一次。 2. **成员变量初始化**:接下来,初始化父类的非静态成员变量,这是通过调用父类的构造器实现的。Java规定每个子类实例在构造之前必须先调用...
在Java编程语言中,`static`关键字扮演着重要的角色,特别是在初始化类的静态成员时。`static`静态初始化块是用来初始化类级别的变量,也就是说,这些变量是属于类本身,而不是类的实例。当我们讨论“Java static...
Java静态和非静态成员变量初始化过程解析 Java静态和非静态成员变量初始化过程解析是Java语言中一个非常重要的概念。了解Java静态和非静态成员变量的初始化过程对大家的学习或者工作具有一定的参考学习价值。 首先...
2. **子类静态成员初始化**:随后是子类中的静态成员初始化。 3. **基类非静态成员初始化**:当创建一个子类对象时,会首先调用基类的构造函数来初始化基类的非静态成员变量。 4. **子类非静态成员初始化**:接着是...
它用于初始化类级别的静态变量。在`init`目录下的文件可能包含了不同静态初始化的示例。 3. **实例化阶段**: 当我们创建一个新的对象时,Java会进行实例初始化。首先,分配内存空间,然后调用构造函数。实例初始...
只有在子类的静态成员初始化完成后,才开始父类的非静态成员和构造器的初始化,以及子类的构造器初始化。 这个顺序可能会导致一些有趣的现象,例如,在父类的构造器中使用某个还未初始化的子类静态成员变量(如果...
在C++或Java等其他面向对象的语言中,我们通常使用`static`关键字来声明静态成员,而在易语言中,也有类似的方式。 在易语言中,声明静态数据成员的语法如下: ```易语言 .静态变量名 类型 ``` 例如,如果我们要...
- **静态初始化块**:仅在类加载时执行一次,用于初始化类中的静态成员。这类初始化块通常用来完成一次性的工作,如数据库连接或读取配置文件等。 - **非静态初始化块**:每次创建类的新实例时都会被执行,用于初始...
5. **初始化类的子类**。 6. **JVM启动时作为主类的类**。 例如,如果我们有一个`Singleton`类,其中包含静态变量和静态初始化代码块,如下所示: ```java class Singleton { private static Singleton singleton...
Java关于含有继承类的成员初始化过程讲解 titre1:Java中的继承类成员初始化过程 在Java中,继承类的成员初始化过程是一个复杂且容易让人困惑的地方。今天,我们将通过一个具体的实例来讲解这个过程,以帮助读者...
总之,类的初始化顺序是:静态成员 -> 静态初始化块 -> 非静态成员 -> 非静态初始化块 -> 构造器。这个顺序同样适用于继承关系,只是会先初始化父类的部分,再初始化子类的部分。掌握这一知识能帮助程序员更好地设计...
静态初始化块主要用于初始化类级别的变量,即静态变量。由于它是在类加载时执行,所以它总是在任何对象创建之前运行。静态初始化块不能访问非静态成员,包括实例属性和实例方法,因为它们依赖于对象实例,而静态初始...
本文将基于给定的Java示例代码深入探讨类初始化的顺序问题。这不仅是Java语言的关键特性之一,在其他面向对象语言(如C++、.NET)中也有相似的概念。理解这一概念有助于程序员更好地掌握面向对象程序的设计与实现。 ...