`
haiyusimon
  • 浏览: 31018 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

java 变量的初始化和对象的创建

阅读更多

在java中,变量的初始化要先于任何方法,包括构造方法。

如:

class A{

A () {

System.out.println( "A: "+b);

}

void f () {

System.out.println( "f() :"+b);

}

intb = 1;

public static void main (String [ ] args) {

A a = new A();

a.f();

}

}

得到的运行结果将是:

A : 1

f(): 1

java类对象的第一次创建的顺序如下:

1.java解释器搜寻 classpath ,找到该类的 class 文件;

2.初始化所有static 成员

3.在堆(heap)内存为对象开辟足够的空间;

4.这块内存会自动清零,这样就为类的 primitive 类型成员赋值(成员变量);

5.执行定于的数据成员的初始化(局部变量);

6.执行构造函数;

分享到:
评论

相关推荐

    Java变量初始化

    Java 变量初始化的时机可以分为实例变量初始化和类变量初始化。实例变量初始化可以在三个地方进行,而类变量初始化可以在两个地方进行。理解 Java 变量初始化的时机对于编写正确的 Java 代码非常重要。

    Java静态初始化块和对象初始化块

    在Java编程语言中,初始化块是程序执行时用于初始化对象或类的重要机制。这里我们将深入探讨两种类型的初始化块:静态初始化块(Static Initializer Block)和对象初始化块(Instance Initializer Block)。这两种...

    java中对象创建、初始化、引用

    #### 二、Java中对象创建和初始化过程中涉及的相关概念 ##### 1. Java中的栈与堆 - **栈**:用于存储基本数据类型的变量和对象的引用。 - **堆**:用于存储由`new`操作符创建的对象实体。 ##### 2. 句柄的概念 ...

    探究java的ClassLoader及类变量初始化顺序

    总之,深入理解Java的ClassLoader机制和类变量初始化顺序是提升Java编程技能的重要步骤。通过学习这些知识点,开发者可以更好地优化代码、设计更健壮的系统,并解决与类加载和初始化相关的复杂问题。

    Java变量初始化的时机

    以下是对java变量初始化的时机的分析。  【java变量执行初始化的步骤】  java是一门强类型语言,因此java语言规定每个变量必须先声明,然后才能使用,声明变量时必须指定该变量的数据类型。首先看下面这条语句的...

    java程序初始化顺序

    在Java编程语言中,程序初始化的顺序是一个关键概念,它涉及到类加载、对象创建以及执行流程的安排。了解这些顺序对于编写高效、无错误的代码至关重要。以下是对Java程序初始化顺序的详细说明: 1. **类加载阶段**...

    java代码的初始化顺序demo

    总之,Java代码的初始化顺序是类加载的必然过程,涉及到静态和实例初始化块、构造函数、成员变量初始化以及继承关系的影响。这个demo是学习和理解这些概念的重要工具,通过实际操作可以加深对Java内存管理和对象生命...

    Java中创建初始化对象.pdf

    本篇学习资料将深入探讨如何在Java中创建和初始化对象。 首先,要创建一个对象,我们需要遵循以下步骤: 1. **声明对象**:声明对象是在代码中定义一个变量,它将引用类的实例。声明对象的语法通常为:`类名 对象...

    java语法\Java数组声明、创建、初始化

    Java数组的声明、创建和初始化是Java编程中非常重要的概念。 数组声明 在Java中,数组可以使用两种方式声明:一种是将数组名和类型分开写,例如`int var[];`,另一种是将数组名和类型写在一起,例如`int[] var;`。...

    java 初始化与方法

    在Java中,类的初始化通常发生在以下几个时刻:当类被首次加载、创建类的实例、访问静态变量或调用静态方法时。初始化过程包括了静态块和实例块的执行,以及构造函数的调用。静态初始化块用于在类加载时执行一次的...

    Java初始化块Java初始化块.doc

    Java 初始化块,也称为构造代码块,是Java编程语言中的一种特性,用于在对象创建时执行特定的初始化操作。初始化块在类的定义中以 `{}` 包裹的一段代码,没有返回值,也不需要任何参数。根据是否带有 `static` ...

    Java类继承初始化顺序

    4. **子类成员变量初始化**:最后,执行子类的非静态成员变量初始化。 在实际编程中,`super`关键字用于引用父类的成员。例如,`super.someMethod()`调用父类的`someMethod()`方法,`super.someVariable`访问父类的...

    java面试题-类的初始化顺序.doc

    3. 然后,创建子类实例,首先执行父类的非静态初始化块,打印出 "父类--变量" 和 "父类--初始化块"。 4. 继续执行子类的非静态初始化块,打印出 "子类--变量" 和 "子类--初始化块"。 5. 最后,执行子类的构造器,...

    java初级视频教程系列之-java初始化

    1. **基本类型变量初始化**:Java中的基本类型(如int, double, boolean等)会根据其类型自动赋予默认值。例如,int类型的变量默认为0,boolean类型的变量默认为false。 2. **对象引用初始化**:对象引用在声明时...

    java中类的初始化顺序

    // 静态成员变量初始化 public static TestA a = new TestA(); // 静态初始化块 static { System.out.println("静态初始化"); } // 实例成员变量初始化 public static TestB b = new TestB(); public ...

    Java初始化顺序1

    在 Java 中,实例变量的初始化顺序是按照定义的顺序进行的,而静态变量的初始化顺序则是按照定义的顺序,并且只在第一次访问时初始化。 在上面的示例代码中,我们可以看到,类变量和实例变量的初始化顺序是按照定义...

    Java中static静态变量的初始化完全解析

    ### 静态变量初始化的基本规则: 1. **默认初始化**:当类被加载时,静态变量首先会被赋予其数据类型的默认值。例如,`int`类型的静态变量会被初始化为`0`,`boolean`为`false`,引用类型为`null`。 2. **显式初始化...

    java代码初始化流程研究

    Java代码的初始化流程是编程者在开发过程中需要深入了解的关键环节,它涉及到类加载、静态变量初始化、构造函数执行等多个步骤。下面将详细讲解这个过程。 首先,Java代码的执行始于类加载。当程序运行时,Java...

    学习java静态数据初始化.doc

    在 Java 中,静态变量的初始化有两种方式:隐式初始化和显式初始化。隐式初始化指的是在静态变量声明时赋值,例如 `static int x = 10;`。显式初始化指的是在静态代码块中赋值,例如 `static { x = 10; }`。 在 ...

    Java对象初始化的多维度分析 (2).pdf

    然后,我们可以通过构造方法和语句块来初始化对象的成员变量。 Java 对象初始化是一个复杂的过程,涉及到程序运行、字节码文件反编译和内存分配三个维度。只有通过对这些维度的深入分析,我们才能更好地理解 Java ...

Global site tag (gtag.js) - Google Analytics