public class DVD {
static int l=1;
public static void main(String[] args) {
DVD[] dvd=new DVD[10];
DVD dvd1;
System.out.println(dvd[0]); //输出null
System.out.println(null.l); //编译错误
System.out.println(dvd[0].l); //输出1.编译运行都正常
System.out.println(dvd1.l); //输出2.编译错误
//输出1只是声明了对象数组,但是并没有为dvd[0]创建对象,所以为null,怎么还能调用l属性
//输出2声明了dvd1,也是没有创建对象,为什么一调用l就报错
}
}
注:请尽量详细说明,谢谢
DVD是个对象数组,你只初始化了数组,而没是实例化数组里的没个对象,所以为null;
看第1条。为空不能点属性
看第1条,为空的对象不能点属性
请看第3条
那输出1的dvd[0]不是为null吗,那不就等于null调用属性l吗?
追答你的变量l是静态的, 不需要实例化对象只需要一个类即可调用,所以可以输出!