若某个主数据类型属于一个类成员,那么即使不明确(显式)进行初始化,也可以保证它们获得一个默认值。
同时
boolean Booleanchar Characterbyte Byte[11]short Short1int Integerlong Longfloat Floatdouble Double void Void1
这些有什么区别呢???
同时
boolean Booleanchar Characterbyte Byte[11]short Short1int Integerlong Longfloat Floatdouble Double void Void1
这些有什么区别呢???
或者 ,我举个例子吧!
class Test{
int i;
static boolean t; public static void main(String[] args){
byte p;//注意这里
Test a = new Test();
System.out.println(Test.t);
System.out.println(a.i);
System.out.println(p);//这里会出错,
}
}
^_^,看一下就明白了!
java中所有变量只要是没有初始化全部算错误think in java 这段话的意思是说~~类里面的成员变量(也就是数据成员)是自动初始化为默认值的
(但不建议楼主依靠java的默认值~~还是自己初始化靠的住)而方法中局部变量是不会帮你初始化的
在方法体里面则没有这个功能。
{
public int a;//会得到初始化,有默认值
protected String s;;//会得到初始化,有默认值
private char f;;//会得到初始化,有默认值
boolean b;;//会得到初始化,有默认值public void D()
{
int i;//不属于类的成员变量,不会得到初始化,无默认值
String s;//不属于类的成员变量,不会得到初始化,无默认值
boolean b;//不属于类的成员变量,不会得到初始化,无默认值
}
}明白否?
其它的同楼上……
由这个也可以隐约知道点 java类对象创建的过程。在java创建一个类对象的时候,会首先在内存 里面开辟出来这些基本数据类型成员的空间,所以可以使用,
但是 对象的方法里面的变量 是在初始之后才创建空间,所以不初始(分配空间)是不可以使用的
还可以理解一个东西,那就是 java的垃圾处理器,即 在java里面基础数据类型变量,它的空间会直到随着该对象被撤销之后,空间才释放,但是对象里方法的 空间 随着方法结束,空间就被释放掉不知道这些东西我理解的有错误吗??