Java中类的初始化过程:(静态成员变量,静态代码块,普通成员变量,代码块初始化顺序)

简介: Java中类的初始化过程:(静态成员变量,静态代码块,普通成员变量,代码块初始化顺序)

初始化过程是这样的:


1.首先,初始化父类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化;

2.然后,初始化子类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化;

3.其次,初始化父类的普通成员变量和代码块,在执行父类的构造方法;

4.最后,初始化子类的普通成员变量和代码块,在执行子类的构造方法;


类的加载顺序:


父类静态成员变量、静态块>子类静态成员变量、 静态块>父类普通成员变量、非静态块>父类构造函数>子类 普通成员变量、非静态块>子类构造函数


静态代码块:随着类的加载而执行,而且只执行一次
非静态代码块:每创建一个对象,就执行一次非静态代码块


关于各个成员简介:


类的成员总结(属性,方法,构造器,代码块,内部类)

小练习:


下面代码输出结果是


class C {
    C() {
        System.out.print("C");
    }
}
class A {
    C c = new C();
    A() {
        this("A");
        System.out.print("A");
    }
    A(String s) {
        System.out.print(s);
    }
}
class Test extends A {
    Test() {
        super("B");
        System.out.print("B");
    }
    public static void main(String[] args) {
        new Test();
    }
}



相关文章
|
3天前
|
存储 小程序 Java
打破传统,Java 变量与常量让你重新认识编程的魅力!
【6月更文挑战第14天】Java编程中的变量与常量赋予程序灵活性和动态性。变量如魔法盒子,其值可变,提供程序的适应性;常量则如灯塔,值恒定,确保稳定性。两者结合构建复杂程序,变量用于处理数据,常量定义规则。在项目中,规范管理变量和常量能提升代码可读性和维护性。无论是小游戏还是复杂系统,它们都是不可或缺的工具,激发编程的无限可能。
|
3天前
|
存储 Java
Java 新手进阶:从变量到常量,一步步走向编程巅峰!
【6月更文挑战第14天】Java新手应掌握变量与常量,它们是编程基础。通过示例展示变量(如矩形的长度和宽度)用于存储可变数据,常量(如重力加速度)用于表示固定值。理解不同类型的变量,如字符串、整型和浮点型,并用`final`关键字定义常量。在银行账户管理程序案例中,变量跟踪账户信息,常量表示年利率。熟悉这些概念将提升编程技能。
|
3天前
|
存储 Java
Java 变量与常量:深入浅出,一探究竟!
【6月更文挑战第14天】Java编程中的变量和常量是程序基础。变量是可变的数据存储,如`int num = 10;`,类型包括整型、浮点型等。常量(如`final double PI = 3.14159;`)值不可变。变量用于存储和处理数据,如计算平均分;常量常用于定义固定值,如颜色或π。理解和熟练使用变量与常量是编程的关键。
|
3天前
|
存储 Java 容器
那些年,我们一起学过的 Java 变量与常量
【6月更文挑战第14天】Java学习中,变量和常量至关重要。变量如灵活容器,存储各类数据,示例:`int number = 10; number = 20;`。常量如圆周率`PI`,定义后不可变。Java有整型、浮点型、字符型、字符串型等变量和常量。合理使用能提升代码规范性和可读性,命名规范至关重要。变量和常量是编程基础,影响深远,共同构建稳定系统。
|
3天前
|
Java
Java 基础深度解析:变量与常量的声明、赋值与初始化的权威指南
【6月更文挑战第14天】Java编程中的变量和常量是基础关键。声明变量如`int age;`,赋值与初始化可在声明时或后续代码中完成。常量用`final`修饰,如`public static final double PI = 3.14159;`,且只能赋值一次。变量命名应具描述性,常量值设定后尽量不变,注重代码的可读性和可维护性。熟练掌握这些将有助于编写高质量Java程序。
|
3天前
|
存储 Java 开发者
在 Java 的星辰大海中,寻找变量与常量的那份执着与坚守。
【6月更文挑战第14天】Java 中的变量与常量各有特色。变量如善变的艺术家,值可随程序需求变化,适于存储动态数据;而常量如同坚定不移的灯塔,值恒定不变,为程序提供稳定参照。变量用于处理复杂情况,常量定义固定规则。两者在内存管理和编程风格上各有作用,共同构建程序并确保其正确性与稳定性。理解并巧妙运用它们的差异,能提升 Java 编程的效率和质量,探索编程的无限可能。
|
3天前
|
缓存 NoSQL Java
Java高并发实战:利用线程池和Redis实现高效数据入库
Java高并发实战:利用线程池和Redis实现高效数据入库
17 0
|
5天前
|
安全 Java API
Java并发基础-启动和终止线程
Java并发基础-启动和终止线程
15 0
|
5天前
|
Java 调度
Java并发基础-线程简介(状态、常用方法)
Java并发基础-线程简介(状态、常用方法)
13 0
|
1天前
|
Java 调度
【Java基础】 线程状态转化
Java线程状态转化
13 2