Java中实例变量的初始化

时间:2013-08-13 07:47:13

标签: java

当我们提供了自己的默认构造函数并且没有在其中初始化id时,实例变量id如何被初始化为0?输出变为id:0状态:B id 0怎么样?

`class Demo{
    private int id;
    private char status; 

    public Demo(){ 
    status = 'B';
    }

    public void display(){
    System.out.println("Id:="+id+" Status:"+status);
    }

    public static void main(String args[]){
    Demo ob = new Demo();
    ob.display();
    }
}`

9 个答案:

答案 0 :(得分:2)

以下是default intializations

下表总结了上述数据类型的默认值。

Data Type              |  Default Value (for fields)
-----------------------+-----------------------------
byte                   |   0
short                  |   0
int                    |   0
long                   |   0L
float                  |   0.0f
double                 |   0.0d
char                   |   '\u0000'
String (or any object) |   null
boolean                |   false

答案 1 :(得分:1)

在Java中,每个未初始化的变量都会自动初始化为声明它的类型的默认值,即:

  • float:0.0f
  • int / short / byte:0
  • long:0L
  • 对象:null
  • 布尔值:false

答案 2 :(得分:1)

原始类型默认为特定值。对于int,它是0。

答案 3 :(得分:0)

使用默认值初始化实例变量,对于整数,它为0。

答案 4 :(得分:0)

id是基本类型int,默认为0

您正在考虑对象

实际上是对象的引用,这些默认为null,这意味着它们指向没有对象。

答案 5 :(得分:0)

  • 因为int类型的默认值为0
  • 为所有实例变量分配默认值

答案 6 :(得分:0)

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

声明字段时并不总是需要指定值。声明但未初始化的字段将由编译器设置为合理的默认值。一般来说,此默认值将为零或null,具体取决于数据类型。但是,依赖于这样的默认值通常被认为是糟糕的编程风格。

下表总结了上述数据类型的默认值。

+------------------------+----------------------------+
| Data Type              | Default Value (for fields) |
+------------------------+----------------------------+
| byte                   |               0            |
| short                  |               0            |
| int                    |               0            |
| long                   |              0L            |
| float                  |            0.0f            |
| double                 |            0.0d            |
| char                   |        '\u0000'            |
| String (or any object) |            null            |
| boolean                |           false            |
+------------------------+----------------------------+

答案 7 :(得分:0)

“对于int类型,默认值为零,即0” 您可以在语言规范中看到默认值:http://docs.oracle.com/javase/specs/jls/se5.0/html/typesValues.html#96595

答案 8 :(得分:0)

根据您的代码,id是一个实例变量,如果未定义实例变量,则它将占用默认值。 在你的情况下,因为id是int所以值为0