6个答案 按时间排序 按投票排序
-
上面给出的答案都挺好的,我知道的 java编程思想 里面对这块给出了比较详细的解析,例子也比较清楚,有这本书的话去翻翻 :0
2010年2月08日 09:06
-
详细的解释,参见《Java深度历险》简单的例子:
public class StaticDemo { public static String info ; private String other ; static { info = "静态语句块能操纵静态的对象"; //other = "无法操纵非static对象"; System.out.println(" == StaticDemo 被加载到JVM == "); } public StaticDemo(){ System.out.println(" StaticDemo 被实例化了。"); } }
public class StaticTest { public static void main(String[] args) { // 加载到JVM中,默认的方式 try { // 等效于Class.forName("StaticDemo"); Class.forName("StaticDemo", true, StaticTest.class.getClassLoader()); } catch (ClassNotFoundException e) { e.printStackTrace(); } // 加载的JVM时,info被赋值了 System.out.println("info对象 ==> "+StaticDemo.info); // 实例化对象,注意此时Static语句块中的内容不再出现 StaticDemo obj1 = new StaticDemo(); StaticDemo obj2 = new StaticDemo(); } }
你可以对照着输出,体会一下。2010年2月07日 23:45
-
import java.util.ArrayList; import java.util.List; public class Test { private static List list = new ArrayList() { { add(new Object()); // ... } }; // 除了这样初始化list之外,还可以如下: private static List list2; static { list2 = new ArrayList(); list2.add(new Object()); // ... } // private static A a = new A(); 这样写就不允许了 private static A a; static { try { a = new A(); } catch (Exception e) { e.printStackTrace(); } } static class A { public A() throws Exception { } } }
2010年2月07日 22:13
-
static块一般用于做初始化操作,执行顺序是有static声明的从上至下(包括static变量及static块)。
import java.util.ArrayList;
import java.util.List;
public class Test {
private static List list = new ArrayList() {
{
add(new Object());
// ...
}
};
// 除了这样初始化list之外,还可以如下:
private static List list2;
static {
list2 = new ArrayList();
list2.add(new Object());
// ...
}
// private static A a = new A(); 这样写就不允许了
private static A a;
static {
try {
a = new A();
} catch (Exception e) {
e.printStackTrace();
}
}
static class A {
public A() throws Exception {
}
}
}2010年2月07日 22:11
相关推荐
Java static 块和构造函数的实例详解 Java static 块和构造函数是 Java 编程语言中两个非常重要的概念,它们在 Java 程序的执行过程中扮演着重要的角色。今天,我们将深入探讨 Java static 块和构造函数的实例详解...
本文将深入探讨Java中的静态块与静态方法,解析它们的区别、联系以及执行顺序,帮助读者更全面地理解`static`关键字在Java中的运用。 ### 静态方法 静态方法是通过`static`关键字声明的,它属于类而不属于类的任何...
static 是 Java 语言中一个关键字,表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态代码块。在 Java 语言中,没有全局变量的概念,但是可以使用 static 来实现类似于全局变量的效果。 ...
在Java编程语言中,`static`关键字扮演着极其重要的角色,它主要用于声明类的成员变量、方法以及代码块为静态。本文将深入探讨`static`在变量、方法和代码块中的应用,通过示例和解释帮助读者更深刻地理解其功能与...
当我们讨论“Java static静态初始化块”时,我们关注的是如何在类加载时执行特定的初始化代码。 首先,让我们理解`static`关键字的基本概念。`static`在Java中用于声明类变量或静态方法,这些变量和方法不需要创建...
本文详细介绍了Java中的`static`属性,包括静态成员变量、静态方法以及静态语句块的概念和使用方法。通过具体的代码示例,我们不仅了解了`static`关键字的基本用法,还深入探讨了静态成员变量如何在整个类之间共享,...
Java 中的 static 关键字 Java 中的 static 关键字是用于声明类的成员变量和成员方法的,它可以使得变量和方法属于类本身,而不属于某个对象。静态变量也称为类变量,静态方法也称为类方法。静态变量和静态方法可以...
在Java编程语言中,`static`关键字是一个非常重要的修饰符,它有多种用途,涉及到类、对象以及变量和方法的生命周期。本视频教程详细讲解了`static`关键字在Java中的应用及其背后的原理。 首先,我们要理解`static`...
综上所述,`static`关键字在Java中具有多种用途,包括定义类变量、类方法、静态初始化块以及静态内部类。理解和正确使用`static`对于编写高效、可维护的Java代码至关重要。在实际编程中,要根据需求选择是否使用`...
静态初始化块是以`static`关键字标识的代码块,它在类被加载到Java虚拟机(JVM)时执行,且只执行一次。静态初始化块常用于设置类级别的变量,或者执行只应执行一次的初始化操作。例如,如果一个类需要在程序运行前...
Java 中 final 和 static 的区别 final 关键字在 Java 中有多种用法,包括修饰变量、方法、类等。下面是 final 关键字的各种用法: 1. final 修饰变量:表示该变量一旦被初始化,程序无法修改变量的值,该变量变成...
Static块 马克-to-win Java视频 静态块 静态块初始化
Java编程语言中,类的初始化过程涉及到静态块(static block)、实例块(instance block)以及构造器(constructor)。这些块的执行顺序对于理解和编写复杂的Java程序至关重要,特别是在涉及继承关系时。下面我们将...
`static`关键字在Java语言中扮演着重要的角色,它主要用于声明静态变量、静态方法或静态代码块。当一个成员被标记为`static`时,意味着这个成员属于类本身而非对象实例。这意味着无论创建多少个该类的对象,`static`...
static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块
`static`是Java语言中的一个关键字,主要用来修饰类成员(变量、方法或代码块),其核心功能在于定义类级别的共享属性。通过使用`static`,可以实现对类属性和方法的共享访问,而无需创建类的实例。这在实际编程中...
在Java编程语言中,静态块(Static Block)是一种特殊的代码段,主要用于类的初始化。它在类被加载到Java虚拟机(JVM)时执行,且只执行一次。静态块通常用于初始化静态变量或者进行一些类级别的设置工作,而不涉及...
"Java关键字final、static使用总结" 在 Java 编程语言中,final 和 static 是两个非常重要的关键字,它们可以用来修饰类、方法、变量等,了解它们的使用方法和限制非常重要。本文将详细总结 final 和 static 的使用...
Static块 2---马克-to-win Java视频 java视频 马克Java社区 马克towin