当我们提供了自己的默认构造函数并且没有在其中初始化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();
}
}`
答案 0 :(得分:2)
下表总结了上述数据类型的默认值。
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中,每个未初始化的变量都会自动初始化为声明它的类型的默认值,即:
答案 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