A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

class Demo4_Car {
        public static void main(String[] args) {
                Car c = new Car();
                c.color = "red";
                c.num = 8;
                System.out.println(c.color + "....." + c.num);
                c = null;
                c.run();
                结果会是空指针异常,run方法既然里面的东西只是一个字符串而已,没有去调用对象的属性,为什么当对象地址值被赋予空的时候就会空指针异常呢?
               也就是说如果run方法是System.out.println(num + "......" + color),那么当c被赋值为null的时候,因为地址值被赋值空了,所以没法调用对象里的属性,所以才会出现空指针异常,但是run方法里只是一个与对象不相关的字符串的时候,把对象地址值赋值为空以后,输出结果还是空指针异常呢?
        }
}
class Car {
        String color;
        int num;
        public void run() {
                System.out.println("车辆运行");
        }
}

6 个回复

倒序浏览
Johnliao190123 来自手机 初级黑马 2016-9-5 12:22:16
沙发
没人回复啊???很难吗???
回复 使用道具 举报
相当感谢,原来是理解上的不到位!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马