...讲什么呢 Object ob; int index; ob值为NULL index值为0; 就是在声明的时候没有明确初始化时的,系统默认赋值 我不学语文好多年... 难道说你在接触java之前什么语言都没碰过?
如果一个引用型变量没有引用任何对象,这个变量就有一个特别的Java值null,null与true和false一样是一个直接量,true和false用于boolean型变量,而null用于引用型变量。 引用型数据的默认值是null,数值型的默认值是0,boolean型的默认值是false,char型的默认值是'\u0000'。然而,Java没有给方法中的局部变量赋予默认值,下面代码显示Student对象数据域name、age、isScienceMajor和gender的缺省值: class Student{ String name; //name has default value null int age; //age has default value 0 boolean isScienceMajor; //isScienceMajor has default value false char gender; //c has default value '\u0000' public static void main(String[] args){ Student student = new Student(); System.out.println("name? " + student.name); System.out.println("age? " + student.age); System.out.println("isScienceMajor? " + isScienceMajor); System.out.println("gender? " + student.gender); } } 因为局部变量x和y没有初始化,所以下面的代码有编译错误: class Test{ public static void main(String[] args){ int x; //x has no default value String y; //y has no default value System.out.println("x is " + x); System.out.println("y is " + y); } } 通过引用变量引用一个对象之前,必须先创建该对象。如果引用一个没有创建的对象,会引起运行错误NullPointerException。
是指内存中的对象吧
呵呵
Object ob;
int index;
ob值为NULL
index值为0;
就是在声明的时候没有明确初始化时的,系统默认赋值
我不学语文好多年...
难道说你在接触java之前什么语言都没碰过?
引用型数据的默认值是null,数值型的默认值是0,boolean型的默认值是false,char型的默认值是'\u0000'。然而,Java没有给方法中的局部变量赋予默认值,下面代码显示Student对象数据域name、age、isScienceMajor和gender的缺省值:
class Student{
String name; //name has default value null
int age; //age has default value 0
boolean isScienceMajor; //isScienceMajor has default value false
char gender; //c has default value '\u0000' public static void main(String[] args){
Student student = new Student();
System.out.println("name? " + student.name);
System.out.println("age? " + student.age);
System.out.println("isScienceMajor? " + isScienceMajor);
System.out.println("gender? " + student.gender);
}
}
因为局部变量x和y没有初始化,所以下面的代码有编译错误:
class Test{
public static void main(String[] args){
int x; //x has no default value
String y; //y has no default value
System.out.println("x is " + x);
System.out.println("y is " + y);
}
}
通过引用变量引用一个对象之前,必须先创建该对象。如果引用一个没有创建的对象,会引起运行错误NullPointerException。
不好意思这段有个小小bug,应该是:
System.out.println("isScienceMajor? " + strudent.isScienceMajor);