class Class1{
int a,b;
}
class Class2{
float c,d;
}
class Class3{
String st;
Class1 c1;
Class2 c2;
}
public class PackTest {
public static void main(String[] args) {
Class1 c1= new Class1();
Class2 c2= new Class2();
Class3 c3= new Class3();
System.out.println(c1.a+" "+c1.b);
System.out.println(c2.c+" "+c2.d);
System.out.println(c3.st);
System.out.println(c3.c1);
System.out.println(c3.c2);
System.out.println(c3.c2.c);//为什么错误
}
}
因为你Class3里面的Class2还没有实例化,还需要new Class2();
你控制台都打印出来了,c3.c2是null,空指针了
有一个对象是空指针,注释看看
因为你的类成员变量没有设置默认值,也没有复制,所以直接获取的就是空值,打印之前要if判断是否空
因为你没有给c3的c2进行初始化,上一行都打印出来了,c3的c2是null,你去访问它的属性必然会报错