论坛首页 入门技术论坛

java中的变量初始化问题

浏览 4473 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-01-08  
        在学习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。
        不知道有谁想过这个问题没有,大家都是怎么解释的呢?
   发表时间:2007-01-08  
实例变量和类变量是自动初始化的;数字型的初始为0,对象型的为null。
局部变量是编译器强制规定需要赋值的。
0 请登录后投票
   发表时间:2007-01-08  
上面那个 int a 是全局的   不需要初始赋值
0 请登录后投票
   发表时间:2007-01-08  
明白了,谢谢楼上及楼楼上的解释。
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics