一些关于static的思考和想法
代码如下:

那么问题来了,这两条输出语句只有第二条语句;t1.age这一行会报空指针异常;为什么第一条语句不会报异常呢。
我认为是因为,name是静态变量,可以通过类名直接使用,而不需要创建对象来调用;即使t1对象为空,也能通过类名的方式访问。而age是实例变量,必须通过对象来访问,所以会报空指针异常。
代码如下:

那么问题来了,这两条输出语句只有第二条语句;t1.age这一行会报空指针异常;为什么第一条语句不会报异常呢。
我认为是因为,name是静态变量,可以通过类名直接使用,而不需要创建对象来调用;即使t1对象为空,也能通过类名的方式访问。而age是实例变量,必须通过对象来访问,所以会报空指针异常。