`
Roader123
  • 浏览: 94187 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java Static Block 的调用时机

阅读更多

public class StaticTest {
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		//A a = null;// new A();// TODO Auto-generated method stub
		A a = new B();
		A b = new A();
		B bb = new B();
	}
}
class A {	
	static {
		System.out.println("static A ");
	}
	public A(){
		System.out.println("construct A");
	}
}

class B extends A{	
	static {
		System.out.println("static B");
	}
	public B(){
		System.out.println("construct B");
	}
}

console output:

 

static A 

static B

construct A

construct B

construct A

construct A

construct B

分享到:
评论

相关推荐

    java static学习

    System.out.println("Static block executed"); } } ``` 在上面的代码中,我们定义了一个静态代码块,它只执行一次,用于初始化静态变量。 静态导入包 Java 中的静态导入包是指使用 static 关键字修饰的导入包,...

    java中static用法

    System.out.println("This is a static block."); } public static void main(String[] args) { // 类初次加载时,静态代码块被执行 } } ``` #### 五、静态内部类 ##### 5.1 定义 静态内部类是一种特殊的...

    知名企业java高级工程师面试题附答案

    - **回收时机**:垃圾回收器并不会立即回收内存,其回收时机由虚拟机根据系统负载等因素自动决定。 - **主动通知垃圾回收**:可以通过调用`System.gc()`等方法来请求进行垃圾回收,但这只是建议而非命令,具体是否...

    静态的魔力:Java中静态方法和变量的深度解析

    System.out.println("Static block is being initialized!"); } } ``` 这段代码展示了如何使用静态初始化块来初始化类中的静态资源。 #### 六、静态方法和变量的访问方式 静态方法和变量可以通过以下两种方式...

    静态代码块

    System.out.println("parent static block"); } public Parent() { System.out.println("parent constructor"); } } class Child extends Parent { static String childName = "hello"; { System.out....

    Java对象与内存控制

    ### Java对象与内存控制 ...综上所述,Java中对象与内存控制涉及多个方面,包括实例变量与类变量的区别、变量的初始化时机、构造器的工作原理、final修饰符的使用等。理解这些概念对于编写高效可靠的Java程序至关重要。

    Java常见笔试、面试题目深度剖析,方法重写详解、静态代码块与构造方法执行顺序问题

    其次,我们要了解**静态代码块**(Static Initializer Block)。静态代码块是在类加载时执行的一段代码,它不依赖于类的实例,而是与类本身相关联。静态代码块通常用来初始化类级别的变量,或者执行一些仅需执行一次的...

    实验五.docx————电子版_docx版

    - 在`ClassLoaderTest`类中,静态代码块中的`System.out.println("执行静态块staticblock");`语句会在类首次被加载时执行。 3. **初始化实例变量**: - 实例变量的初始化发生在对象创建的过程中,可以通过构造...

    程序员需要知道

    **解答**: EJB (Enterprise JavaBeans) 提供了多种事务管理策略,其中 Transaction Level 指的是 EJB 方法调用时的事务级别。共有 7 种 Transaction Level: - **Required**: 如果当前线程中已经存在事务,则加入该...

Global site tag (gtag.js) - Google Analytics