`
fly_ever
  • 浏览: 153591 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java中的变量初始化问题

    博客分类:
  • java
阅读更多
        在学习java时,知道java中的变量需要初始化之后才能够使用,否则会报错,所以我当时一直迷惑什么时候才能够用到java基本类型中的一些默认初始值,因为我在编程过程中,总是先为变量赋初值之后才使用的。
今天看到了一个使用java基本类型的默认值的例子,所以拿出来看一下:
java 代码
 
  1. class subTest {  
  2.     int a;  
  3.     public  subTest(int v){  
  4.         a+=v;     
  5.         System.out.println(a + "");  
  6.     }  
  7.     public static void main(String args[]){   
  8.         new subTest(1);  
  9.     }     
  10. }  

当我看这个例子时,以为这个程序不会通过编译,结果它却正确的执行了。
         后来我仔细的考虑了一下,估计应该是该变量a是在构造方法中使用的,而构造方法本来就是用来初始化的,所以在这里能够正确运行,并且a使用的是它的默认值0。
        不知道有谁想过这个问题没有,大家都是怎么解释的呢?
分享到:
评论
4 楼 iteeye 2013-03-28  
1楼高深,回答得好
3 楼 fly_ever 2007-01-08  
明白了,谢谢楼上及楼楼上的解释。
2 楼 ddandyy 2007-01-08  
上面那个 int a 是全局的   不需要初始赋值
1 楼 LucasLee 2007-01-08  
实例变量和类变量是自动初始化的;数字型的初始为0,对象型的为null。
局部变量是编译器强制规定需要赋值的。

相关推荐

    Java变量初始化

    Java 变量初始化的时机是指在 Java 语言中变量的初始化过程,包括变量的声明、初始化和赋值的步骤。 Java 变量声明 在 Java 语言中,每个变量必须先声明,然后才能使用。声明变量时必须指定该变量的数据类型。...

    java类变量初始化顺序

    详细讲解java类中静态变量,普通标量,对象、基本类型的初始化顺序。

    java数组初始化详解

    需要注意的是,在 Java 中,数组变量必须在使用前进行初始化,否则将会抛出 NullPointerException。 二维数组的初始化 在 Java 中,二维数组可以通过多种方式进行初始化。 1. 声明数组变量:`int[][] a;`,这只...

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

    理解ClassLoader的工作机制以及类变量初始化的顺序对于深入理解Java运行时环境至关重要。这篇博文将探讨这两个主题。 首先,让我们深入了解Java的ClassLoader。ClassLoader是一个抽象类,它是Java中的一个关键组件...

    java代码的初始化顺序demo

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

    Java类加载器:静态变量初始化.docx

    这篇文章将深入探讨 Java 类加载器中的静态变量初始化机制,了解其背后的工作原理和载入过程。 静态变量初始化机制 ------------------ 在 Java 中,静态变量是指在类加载时初始化的变量。静态变量的初始化是由类...

    Java类继承初始化顺序

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

    Java变量初始化的时机

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

    java中类的初始化顺序

    // 实例成员变量初始化 public static TestB b = new TestB(); public static void main(String[] args) { new TestOrder(); } } class TestA { public TestA() { System.out.println("Test--A"); } } ...

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

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

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

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

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

    在 Java 中,静态数据初始化是指在类加载过程中对静态变量的初始化。静态变量是在类加载时被初始化的,而不是在实例创建时。静态变量的初始化顺序是按照它们在类中的定义顺序进行的。 在 Java 中有两种类型的变量:...

    深入解析Java中的变量未初始化问题及解决方案

    变量未初始化是Java编程中的一个常见问题,它可能导致程序错误和不稳定。通过显式初始化、使用构造器或初始化块、利用assert关键字、Optional类、代码审查、静态分析工具和单元测试等方法,我们可以有效地避免和解决...

    java程序初始化顺序

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

    关于Java静态成员变量和静态初始化块等的初始化顺序的详细介绍

    详细介绍了Java的静态成员变量、静态数据块、非静态成员变量和非静态成员变量等初始化顺序

    6种方法初始化JAVA中的list集合

    本文将详细介绍6种初始化Java List集合的方法,并通过代码示例帮助理解每种方法的使用和特点。 1. 常规方式 这是最常见的初始化List的方式,通过创建ArrayList实例并逐个添加元素。自JDK 7以后,可以省略泛型类型的...

    java 初始化与方法

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

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

    ### Java中对象创建、初始化与引用详解 #### 一、Java对象、引用及创建过程 在Java中,对象是程序的基本单位,它包含了属性(成员变量)和行为(方法)。对象是由类创建出来的实例,而类则是一组具有相同属性和...

    Java变量的初始化及静态方法的实现

    Java 变量的初始化及静态方法的实现 ...本文详细介绍了 Java 变量的初始化和静态方法的实现,通过示例代码和分析,阐述了变量初始化和静态方法的应用场景和重要性。希望本文能够对读者的学习和工作产生帮助和影响。

Global site tag (gtag.js) - Google Analytics