为什么if后面不加大括号就报错了

来源:10-2 多态中的引用类型转换

慕运维7819121

2015-12-11 10:13

http://img.mukewang.com/566a30ad0001b2a304490329.jpg

请问为什么会报错,然后我在if后面加了大括号就不报错了

写回答 关注

5回答

  • Jason333
    2015-12-11 10:24:13
    已采纳

    if后面如果只跟一条语句是可以的, 这里报错是因为你声明了变量cat, 而变量必须要有作用域,这里的大括号就是用来限定cat的作用域的

    Demo d;

     if(true) 

        d = new Demo();

    这样因为上面已经确定该变量的作用域了,所以可以直接这样写,不报错


    Jason3... 回复慕运维781...

    你可以这么理解,不加大括号Java虚拟机就不能确定这个cat变量的作用范围是在if里还是main函数里

    2015-12-14 08:47:59

    共 3 条回复 >

  • RockenRoll
    2015-12-11 10:39:53

    顶三楼的

  • 菜菜0123456
    2015-12-11 10:30:42

    if判断语句的格式就是if(){ }

  • jxp_jinpeng
    2015-12-11 10:16:26

    因为后面有else语句,如果没有就不会报错

  • AJohnson
    2015-12-11 10:14:23

    if是一个判断语句,根据条件判断内容,而且判断语句的格式就是if{ },括号里面添加内容。

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530559 学习 · 6091 问题

查看课程

相似问题