`
fly_ever
  • 浏览: 150139 次
  • 性别: 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中static静态变量的初始化完全解析

    static所声明的变量在Java中有一个初始化的先后顺序,带着这个问题接下来我们就来进行Java中static静态变量的初始化完全解析:

    Java变量初始化

    java语言规定每个变量必须先声明,然后才能使用,声明变量时必须指定该变量的数据类型

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

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

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

    主要介绍了6种方法初始化JAVA中的list集合,文中讲解非常详细,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下

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

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

    Java类变量和成员变量初始化过程的应用介绍

    昨天看了一本叫做《突破程序员基本功的16课》的书,个人感觉还可以,主要对Java的技巧进行了一些深入的讲解,让我对类的初始化和对象的创建有了新的认识

    java 构造器的调用

    java 构造器初始化成员变量 是否提供默认构造器 继承中构造器的调用

    Java静态和非静态成员变量初始化过程解析

    主要介绍了Java静态和非静态成员变量初始化过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

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

    主要介绍了Java变量的初始化及静态方法的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

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

    NULL 博文链接:https://crazybackkom.iteye.com/blog/968174

    java学习之神奇初始化

    如果有static,即静态成员定义,首先初始化static的变量,如,在类Cups中c3在c2前面,可是在输出的结果中,你可以发现,c2是在c3前执行的,这就是因为,所有的static都在第一时间被初始化。

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

    java面试题-类的初始化顺序.doc 大家在去参加面试的时候,经常会遇到这样的考题:给你两个类的代码,它们之间是继承的关系,每个类里只有构造器方法和一些变量,构造器里可能还有一段代码对变量值进行了某种运算,...

    php 静态变量的初始化

    } 如果要将变量赋值为对象,那么只能在构造器中进行初始化,例如: class A { private $child; public function __construct() { $this->child = new B(); } } 但是php中并没有一个类似java中的静态构造器/静态块的...

    成员变量和局部变量

    局部变量:没有初始化值,必须手动初始化 生命周期不同 成员变量:随着对象的创建而存在,随着对象的消失而消失 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失 特别注意 成员变量和局部变量的...

    java 静态非静态 字段方法 子类父类构造_初始化顺序!

    java 静态_非静态 字段_方法_代码块 子类父类构造_初始化顺序! 三个class 让你清清楚楚 第一个class java代码如下: package initialOrder; class Parent { // 静态变量 public static String p_StaticField...

    设置java环境变量.ps1

    设置java环境变量有的时候很麻烦,为什么不一键设置呢? 采用的是powershell代码实现 一键设置java_home,path,classpath

    java类中元素初始化顺序详解

    对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次是(静态变量、静态初始化块)>(变量、初始化块)>构造器

    Java变量类型常见面试题及答案

    本文提供了二十道常见的面试题,涵盖了Java中的基本数据类型、引用数据类型、作用域、初始化等方面的知识点。这些问题旨在考察候选人对Java变量类型的理解和应用能力。通过阅读本文,您将能够加深对Java变量类型的...

Global site tag (gtag.js) - Google Analytics