美文网首页
局部变量和成员变量

局部变量和成员变量

作者: 云鲸鱼rain | 来源:发表于2019-03-04 15:56 被阅读0次

面试题。


局部变量使用前需要显式地赋值,否则编译通过不了,为什么这么设计


https://blog.csdn.net/x2L5gX/article/details/81090855一看就明白了。
然后我再自己写一下:
成员变量不用显式赋值,在类加载的过程中给它赋予了默认值。
局部变量需要显式赋值。
为啥不给它赋予默认值?
不是javac推断不出来,而是因为推断出来了,故意不这么做。
为啥故意不这么做?
因为局部变量的作用就是在局部方法中某个地方取出来用。在一个方法体内赋值和取值的顺序是固定,先赋值,才能取值。强制你赋值时因为怕你忘了!怕有了默认值之后忘记赋值导致不可预期的bug!
那为啥成员变量有了默认值不怕有bug?
因为成员变量不确定什么就会被取值出来用,还有可能在各个方法中是不同的值。所以强制让你赋值和给它默认值没什么区别,既然这样,为什么不默认呢?

相关文章

  • Java中的成员变量和局部变量

    成员变量,局部变量? 局部变量和成员变量的区别

  • 面对对象学习第二篇

    局部变量和成员变量的区别 (1)成员变量直接定义在类中。局部变量定义在方法中,参数上,语句中。 (2)成员变量在这...

  • No_16_0226 Java基础学习第七天

    [TOC] 成员变量与局部变量 成员变量与局部变量区别:A:在类中的位置不同成员变量:在类中,方法外局部变量:在方...

  • Java基础-面相对象篇

    类 成员变量和局部变量 成员变量:定义在类中 局部变量:定义在方法中 在没有赋值的情况下,局部变量会报错,但是成员...

  • 记一次Java后端实习生面试(1)

    2018-5-18面试: 1.成员变量、静态变量和局部变量的区别; 成员变量和局部变量的区别 成员变量: ...

  • 局部变量和成员变量

    1、定义的位置不一样 局部变量:在方法的内部 成员变量:在方法的外部,直接写在类当中 2、作用范围不一样 局部变量...

  • 局部变量和成员变量

    面试题。 局部变量使用前需要显式地赋值,否则编译通过不了,为什么这么设计 https://blog.csdn.ne...

  • 2018-03-31

    变量分类:成员变量;局部变量:变量除了成员变量外其他都是局部变量 有3种方式:方法形参…… ...

  • Java基础知识集

    一、掌握成员变量,局部变量的区别: 变量:分为两种,成员变量,局部变量。 在类中的位置不同 成员变量:类中,方法...

  • java中成员变量和局部变量的内存分配

    对于成员变量和局部变量:成员变量就是方法外部,类的内部定义的变量;局部变量就是方法或语句块内部定义的变量。局部变量...

网友评论

      本文标题:局部变量和成员变量

      本文链接:https://www.haomeiwen.com/subject/ygsiuqtx.html