静态块、构造块、构造方法、普通块
静态块:在类中用"{}"括号括起来,并在括号前用static修饰的块为静态块;静态块在类加载时候被调用,并且在整个生命中只调用一次
同步块
使用synchronize关键字修饰,并使用"{}"括起来的代码片段.它表示在同一时间只能有一个线程进入到该方法块中,
是一种多线程保护机制.
构造块:在类中直接使用"{}"括起来的代码被称为构造块;
构造方法:在对象被创建时调用;
普通块:在方法名后面使用“{}”括起来的代码,普通块只有在调用方法名时才会被调用
public class ParentClass { static{ System.out.println("我是父类的static代码块"); } { System.out.println("我是父类的普通代码块"); } public ParentClass(){ System.out.println("我是父类的构造方法"); } public static void method(){ System.out.println("被static修饰的静态方法"); } public static void main(String[] args) { ParentClass parentClass = new ParentClass(); parentClass.method(); } } 结果为:
我是父类的static代码块 我是父类的普通代码块 我是父类的构造方法 被static修饰的静态
public class ChildrenClass extends ParentClass { static{ System.out.println("我是子类的static代码块"); } { System.out.println("我是子类的普通代码块"); } public ChildrenClass(){ System.out.println("我是子类的构造方法"); } public static void method(){ System.out.println("子类被static修饰的静态方法"); } @SuppressWarnings("static-access") public static void main(String[] args) { ParentClass parentClass = new ChildrenClass(); parentClass.method(); } } 结果为: 我是父类的static代码块 我是子类的static代码块 我是父类的普通代码块 我是父类的构造方法 我是子类的普通代码块 我是子类的构造方法 子类被static修饰的静态方法
相关推荐
本文将深度剖析几个常见的Java面试题目,包括方法重写、静态代码块和构造方法的执行顺序。 首先,我们来讨论**方法重写(Override)**。在面向对象编程中,子类可以继承父类的属性和方法,有时需要根据自己的需求对...
这里我们将深入探讨Java中的普通代码块(实例初始化块)和静态代码块的执行顺序,并通过实例来阐述这一概念。 首先,我们需要明白两种类型的代码块: 1. 静态代码块(Static Block):这些代码块在类加载时执行,...
在探讨继承中子类与父类构造函数及静态块的执行顺序时,我们首先需要理解构造函数和静态块的基本概念及其在Java中的作用。构造函数主要用于初始化对象的状态,而静态块则是在类加载到内存中时执行的一段代码,通常...
Java编程语言中有三种类型的代码块,它们分别是普通代码块、构造代码块和静态代码块,每种都有其特定的用途和执行顺序。 1. **普通代码块**: 普通代码块(也称为局部代码块)是在方法或者类的成员变量声明之间...
在Java编程语言中,了解静态代码块和构造方法的执行顺序是至关重要的,尤其是在处理类的初始化和对象的创建时。下面将详细解释这些概念及其执行逻辑。 首先,静态代码块(也称为静态初始化器)是由`static`关键字...
这个非静态代码块是在创建对象时自动执行的,它的执行顺序是在构造方法中的某个点。 静态代码块与非静态代码块的区别 静态代码块和非静态代码块的主要区别是它们的执行时机。静态代码块是在类加载时自动执行的,而...
在继承关系中,静态代码块的执行顺序是:父类静态代码块 -> 子类静态代码块 -> 父类非静态代码块 -> 父类构造方法 -> 子类非静态代码块 -> 子类构造方法。 静态代码块和静态方法的区别在于:静态代码块是自动执行的...
1 静态变量,静态代码块(类加载时执行,类不加载不执行) 2 实例变量,实例代码块(创建对象时才执行,不创建对象不执行) 3 构造函数,(创建对象时执行完2后再执行构造函数,不管构造函数是public还是private...
在 Java 语言中,代码块和静态代码块的加载顺序是严格按照类的加载顺序执行的。具体来说,类的加载顺序如下: 1. 父类静态代码块 2. 子类静态代码块 3. 父类实例代码块 4. 子类实例代码块 在上面的实例代码中,...
Java构造代码块和静态代码块是Java中两种特殊的代码块,它们的运行机制和应用场景不同,下面将详细介绍Java构造代码块和静态代码块的原理、用法和注意事项。 一、局部代码块 局部代码块是指在某个特定的范围内定义...
静态块是Java类中用于初始化静态变量的代码块。它们在类加载时执行,且只执行一次。无论创建多少个类的实例,静态块只会被执行一次。这是因为在Java中,类的静态成员是与类相关的,而非类的实例。 ```java public ...
Java编程语言中有三种类型的代码块:普通代码块、构造代码块和静态代码块,它们各自在不同的场景下发挥着重要作用。下面将详细解释这三种代码块的特性、执行顺序以及它们在程序运行过程中的作用。 1. **普通代码块*...
java 静态_非静态 字段_方法_代码块 子类父类构造_初始化顺序! 三个class 让你清清楚楚 第一个class java代码如下: package initialOrder; class Parent { // 静态变量 public static String p_StaticField...
这种执行顺序体现了Java中静态代码块和实例代码块的执行规则: - 类的静态代码块会在任何实例被创建之前执行,并且只执行一次。 - 子类继承父类时,父类的静态代码块会在子类的静态代码块之前执行。 - 每个类的静态...
在上面的代码中,静态代码块从上到下依次执行,接着是 main 方法,最后是构造块和构造器。 Java 中的代码块有三种:普通语句块、构造块和静态块,每种代码块的执行时机不同,需要根据实际情况选择合适的代码块类型...
父类的静态变量和静态代码块,按代码先后顺序执行 2. 子类的静态变量和静态代码块,按代码先后顺序执行 3. 父类的成员变量和普通代码块,按代码先后顺序执行 4. 父类的构造方法 5. 子类的成员变量和普通代码块...
在Java编程语言中,类的初始化过程涉及到几个关键的概念,包括静态代码块、构造代码块和构造方法。这些概念在创建对象和管理类的状态时起着至关重要的作用。以下是关于这三个概念的详细解释: 1. **静态代码块**: ...
### Java 类中静态域、块,非静态域、块,构造函数的初始化顺序 #### 一、概述 在 Java 编程语言中,类的初始化顺序对于理解程序的行为至关重要。特别是当涉及到静态域(静态变量)、非静态域(实例变量)、静态块...
构造方法主要用于初始化类的新实例,而普通方法则是完成特定任务的代码块。 构造方法的关键特性包括: 1. **名称匹配**:构造方法必须与定义它的类的名称完全相同,不包括任何返回类型。 2. **无返回类型**:构造...
下面是一个简单的示例代码,用于演示Java中静态初始化块的执行顺序: ```java public class Test1 { static { System.out.println("执行静态初始化块test1..."); } { System.out.println("执行初始化块test1");...