`

java中类的加载顺序

 
阅读更多
class T10 {

	static String test = "父类中的静态变量";

	String noneStaticString = "父类中的非静态变量";
	{
		System.out.println("父类中的非静态语句块.");
	}
	static {

		System.out.println("父类中过的静态语句块.");
	}

	public T10() {
		test="静态变量1111父类";
		noneStaticString="父类中修改的非静态变量";
		System.out.println(test);
		System.out.println(noneStaticString);
	}
}

public class T9 extends T10 {

	static String test = "子类中的静态变量";

	String noneStaticString = "子类中的非静态变量";

	public T9() {
	}

	{
		System.out.println("子类中的非静态语句块.");
	}
	static {

		System.out.println("子类中过的静态语句块.");
	}

	public static void main(String[] args) {
		T9 t9 = new T9();
		System.out.println(t9.test);

		
//		父类中的静态变量=>子类中的静态变量=>父类中的静态语句块=>子类中的静态语句块
	}
}

 父类中的静态变量=>子类中的静态变量=>父类中的静态语句块=>子类中的静态语句块

 输出结果:

 

 父类中过的静态语句块.

子类中过的静态语句块.

父类中的非静态语句块.

子类中的非静态语句块.


分享到:
评论

相关推荐

    java面试题静态加载顺序构造方法

    java面试题静态加载顺序构造方法 继承与static 面试题目如下:请写出程序执行完成之后的结果。 package extend; public class X { Y y=new Y(); static{ System.out.println("tttt"); } X(){ System....

    Tomcat启动时类加载顺序

    以下是Tomcat启动过程中类加载的具体顺序: #### 三、类加载顺序详述 1. **Bootstrap Classes of your JVM** 这是JVM自带的一组核心类,由Bootstrap ClassLoader加载,通常位于$JAVA_HOME/jre/lib/rt.jar等位置。...

    java 继承关系的加载顺序

    了解Java中继承关系的加载顺序对于理解和优化程序性能至关重要。以下是对这个主题的详细阐述: 1. 类加载机制 Java的类加载过程分为三个主要阶段:加载、验证、准备、解析和初始化。当一个类被首次引用时(例如...

    Java类加载器原理

    类加载器的作用不仅仅是加载类,还包括确保类的唯一性,避免重复加载,并且遵循特定的加载顺序。以下是对类加载器原理的详细解释: 1. 类加载器作用: 当JVM启动时,如果需要使用某个类,对应的类加载器会将这个类...

    java应用程序类加载器,ClassLoader for java Application

    通过配置类路径,开发者可以自定义加载顺序和加载来源,例如从网络、文件系统或特定的jar中加载类。 **配置灵活性**: 在开发大型Java应用时,类加载器的配置灵活性变得非常重要。例如,可以创建自定义类加载器来...

    java类加载原理分析

    开发者可以通过`-Xbootclasspath`、`-Xbootclasspath/p`和`-Xbootclasspath/a`命令行参数来指定引导类加载器的类路径,从而影响加载顺序或添加额外的类库。 在特殊情况下,如上述示例中的`java -Xbootclasspath/a:...

    Java中类的加载顺序执行结果

    Java中类的加载顺序执行结果 Java 中类的加载顺序执行结果是指在 Java 语言中,类的加载顺序执行结果是如何进行的。下面我们将详细介绍 Java 中类的加载顺序执行结果的相关知识点。 类的加载 在 Java 语言中,类...

    Java类的基本运行顺序

    在Java中,类的加载顺序遵循“父类优先”原则,即子类在初始化前,其父类必须先完成初始化。同时,如果一个类没有显式地定义初始化块,JVM会自动提供一个空的方法。 至于文件`任务安排表.xls`,虽然与Java类的运行...

    Java中类的加载顺序

    不过我们可以换个直接的问法,如果类A和类B中有静态变量,静态语句块,非静态变量,非静态语句块,构造函数,静态方法,非静态方法,同时类A继承类B,请问当实例化A时,类内部的加载顺序是什么?  当时我也是一头...

    Java中类的加载顺序剖析(常用于面试题)

    Java中的类加载顺序是编程面试中常见的问题,它涉及到Java虚拟机(JVM)的工作机制。下面我们将详细探讨这个问题,并基于提供的代码实例进行解析。 首先,我们了解类加载的基本顺序: 1. **静态变量和静态初始化块...

    详解Java中类的加载顺序

    总结来说,Java中类的加载顺序是基于以下规则的: - 首次使用类时,加载类并初始化静态部分。 - 创建类的实例时,按照继承顺序从父类到子类初始化非静态部分。 - 对象销毁时,先执行子类的`finalize`,再执行父类的`...

    实例解析JAVA中代码的加载顺序

    Java中代码的加载顺序实例解析 Java是一种面向对象的编程语言,了解Java中代码的加载顺序是非常重要的。下面我们将通过实例解析Java中代码的加载顺序,详细介绍Java中代码块的执行顺序。 类的依赖关系 在Java中,...

    详解java中继承关系类加载顺序问题

    在Java中,类加载顺序问题是开发中经常遇到的问题之一。今天,我们来详解Java中继承关系类加载顺序问题,包括类加载顺序、构造方法调用顺序、静态代码块执行顺序等。 首先,让我们来看一个简单的示例代码: ```...

    Spring+SpringMVC配置加载顺序1

    Spring 和 SpringMVC 的配置加载顺序是理解这两个框架协同工作的重要方面。首先,DispatcherServlet 是 SpringMVC 的核心组件,它扮演着请求分发者的角色,确保请求被正确地路由到相应的处理器。DispatcherServlet ...

    类加载的工具

    这些工具可以帮助我们定位类的来源,查看加载顺序,以及优化应用的性能。 标题中的“类加载的工具”可能指的是用于监控和分析类加载过程的各种工具。在Java领域,一些常用的类加载分析工具有: 1. **JVisualVM**:...

    Java类加载器加载类顺序

    java ClassLoader的学习  java是一门解释执行的语言,由开发人员编写好的java源文件先编译成字节码文件.class...  一个类如果要被JVM所调度执行,必须先把这个类加载到JVM内存里,java.lang下有个很重要的类ClassL

    Java类加载机制.pdf

    类加载机制涉及类加载顺序、类加载器的体系结构、类加载过程以及双亲委派模型等核心概念。架构师或高级开发人员必须深刻理解这些知识点,以便在进行大型互联网平台架构设计和开发时做出正确的决策。 首先,类加载指...

    java 代码块与静态代码块加载顺序

    在 Java 语言中,代码块和静态代码块的加载顺序是严格按照类的加载顺序执行的。具体来说,类的加载顺序如下: 1. 父类静态代码块 2. 子类静态代码块 3. 父类实例代码块 4. 子类实例代码块 在上面的实例代码中,...

    Java类加载初始化的过程及顺序

    Java类加载初始化的过程是Java编程语言中一个重要的概念,它决定了Java类的加载和初始化顺序。在Java中,类的加载是通过类加载器(ClassLoader)来实现的。类加载器会将类的字节码文件(.class)加载到Java虚拟机...

Global site tag (gtag.js) - Google Analytics