注意,java中任何对象初始化时,属性字段都有默认值,如一般char、String会被初始化为null(char为空),其他数值型初始化为0,如:
Class Begin{
int i;//初始化为0
char c;//初始化为空
float f;//初始化为0f
protected void func(){
int j;//不确定
}
}
但是方法中的“局部变量”不会被初始化,j就是个不确定的值。
另:
java不允许在域中重复定义,如:
{
int i;
{
int i;
}
}
在C++中是可以的,但是在java中是错误的。
Class Begin{
int i;//初始化为0
char c;//初始化为空
float f;//初始化为0f
protected void func(){
int j;//不确定
}
}
但是方法中的“局部变量”不会被初始化,j就是个不确定的值。
另:
java不允许在域中重复定义,如:
{
int i;
{
int i;
}
}
在C++中是可以的,但是在java中是错误的。
本文详细介绍了Java中对象初始化的特点,包括对象属性字段的默认值及其初始化规则,并对比了局部变量与成员变量在初始化过程中的不同行为。此外还讨论了Java与C++在变量定义上的差异。
524

被折叠的 条评论
为什么被折叠?



