今天培训的时候,为了演示java类的初始化过程,我写了一个类。
不过因为没有准备好,导致演示失败了。呵呵
现在我整理了一下思路,把这个例子重新写了一下。
代码如下,java文件可以见附件。执行一下——>所有疑惑都在《Thinking in java》的“初始化和清理”那一章,有兴趣者请查阅。
// New.java
/**
* 演示类的初始化过程
* @author yangxg
*/
public class New extends Old {
public static void main(String[] args) {
System.out.println("-->运行new New(\"5\")");
New new1 = new New("new_1");
}
static Flag staticFlag1 = new Flag("static_flag_1");//静态变量
static{
System.out.println("New类静态代码块初始化");//静态块
}
Flag flag1 = new Flag("flag_1");//类变量
public New(String i) {//构造函数
super(i+"父类");
System.out.println(i+"构造函数初始化");
}
}
class Old{
static Flag staticFlag0 = new Flag("static_Flag_0");
static{
System.out.println("Old类静态代码块初始化");
}
Flag flag0 = new Flag("flag_0");
/**
* @param name 对象引用名称
*/
Old(String name){
System.out.println(name+"的构造函数初始化");
}
}
class Flag{
Flag(String f){
System.out.println(f+"初始化");
}
}
【2008-3】
分享到:
相关推荐
在Java编程语言中,类继承是面向对象设计的一个核心特性,它允许我们创建一个新类(子类)作为现有类(父类)的扩展。当我们谈论“Java类继承初始化顺序”时,涉及到的关键知识点包括构造器、成员变量的初始化、...
类--初始化块"); 39. } 40. // 构造器 41. public SubClass() { 42. System.out.println("子类--构造器"); 43. } 44. 45. public static void main(String[]...因此,掌握类的初始化顺序是每个Java开发者必备的知识点。
然而,在涉及到类继承时,一个重要的问题是类实例化时的初始化顺序。本篇文章将围绕“类继承的初始化顺序”这一主题展开,详细解析初始化过程中涉及的关键概念和技术细节。 ### 类继承的初始化顺序概述 在面向对象...
总之,理解并有效地使用静态和对象初始化块是Java开发中的关键技能,它们可以帮助我们更好地控制类和对象的初始化过程,确保代码的高效性和正确性。在实际编程中,我们应该根据需求谨慎选择合适的初始化策略,以优化...
在使用 new 操作符创建一个类的实例对象的时候,开始分配空间并将成员变量初始化为默认的数值。在这里并不是指将变量初始化为在变量定义处的初始值,对于基本类型变量,默认值为空值是 0 或 false,对于引用类型变量...
在这个例子中,当我们首次主动使用`Singleton`类时,`counter1`和`counter2`会被初始化。由于`singleton`对象的创建,`counter1`会增加1,而`counter2`保持其默认值0。 了解类的初始化对于优化代码性能、避免并发...
同时,"second"这个名字可能是另一个文档或资源,它可能与类的初始化或方法的实现有关,同样值得我们去探索和学习。 在Java开发中,工具的运用也是提高效率的重要一环。IDE(集成开发环境)如Eclipse、IntelliJ ...
现在,让我们来看一个简单的例子,了解类的初始化顺序是如何工作的。假设我们有两个类,Father 和 Son,Son 继承自 Father。Father 类中有一个静态变量和一个静态初始化块,Son 类中也有一个静态变量和一个静态初始...
在Java中,类的初始化顺序是一个经常被问及的面试题目,尤其对于Java程序员和工程师来说,了解这个知识点是必须的。在Java中,类的初始化顺序是面试中的经典问题之一,它涉及到继承、静态成员以及实例成员等多个方面...
在学习 Java 编程语言时,对象初始化顺序是一个非常重要的知识点,但是许多学生却感到困惑和困难。事实上,Java 对象初始化顺序并不难理解,只需要掌握“礼让”原则和 JVM 的执行过程。 一、Java 对象初始化顺序的...
Java类的初始化顺序是编程中一个非常重要的概念,它涉及到对象的创建过程和成员变量的初始化。当一个Java类被实例化或者其静态成员被访问时,类的初始化过程就开始了。以下详细解释了Java类的初始化顺序: 1. **...
本文将详细介绍6种初始化Java List集合的方法,并通过代码示例帮助理解每种方法的使用和特点。 1. 常规方式 这是最常见的初始化List的方式,通过创建ArrayList实例并逐个添加元素。自JDK 7以后,可以省略泛型类型的...
其中一个显著的区别在于它们处理对象初始化的顺序。本篇文章将深入探讨C++和Java中变量和成员初始化的差异,并通过具体的代码示例进行对比。 在C++中,初始化顺序遵循以下规则: 1. 静态成员变量:无论它们在哪里...
在Java编程世界中,类的初始化顺序是理解面向对象编程概念的一个重要方面。尤其对于那些准备应对技术面试的Java程序员和工程师来说,掌握这一知识点是面试时的必备能力之一。本文将深入探讨Java中类的初始化顺序,...
Java数组声明、创建、初始化 Java数组是指在Java语言中可以存储多个相同类型元素的数据结构。数组是一种引用类型,它的元素可以是基本类型,也可以是对象类型。Java数组的声明、创建和初始化是Java编程中非常重要的...
Java类加载机制中还有一个重要的概念是初始化块,它允许程序员在类加载时执行特定的代码,而不必等到对象创建或静态成员被访问。初始化块可以是静态的,也可以是非静态的,分别在类加载时和对象构造时执行。对于继承...
Java对象的初始化顺序是一个关键的编程概念,它涉及到类加载、静态初始化、实例初始化等多个步骤。下面我们将详细探讨这些步骤。 首先,当程序运行并创建一个新的对象时,JVM(Java虚拟机)会按照特定的顺序来初始...
45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip...
44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip...