`

成员变量和局部变量的一点不同

    博客分类:
  • J2SE
 
阅读更多
    在java中,如果你在class中定义了一个成员变量然后你没有进行初始化 那么编译器会给你自动初始化的,对于每种不同的类型他的初始化值也不一样,具体看下面的图片,编译时可以通过的,但是如果你在方法内部定义了一个变量,也就说是一个局部变量如果 你没有进行初始化在使用这个变量时编译器就会报错了,所以定义成员变量的时候你可以不进行变量的初始化,但是定义局部变量的时候必须要进行初始化。



  • 大小: 96.1 KB
分享到:
评论

相关推荐

    浅谈静态变量、成员变量、局部变量三者的区别

    值得注意的一点是,如果局部变量和成员变量同名,那么在方法内部,局部变量会覆盖成员变量的引用,遵循“就近原则”。因此,当在方法内使用变量时,应确保清楚地知道正在访问哪个变量。 总之,理解这三种变量类型...

    c++静态局部变量和静态函数示例

    在函数体内定义了一个变量,每当程序运行到该语句时都会给该局部变量...静态局部变量在程序执行到该对象的声明处时被首次初始化,即以后的函数调用不再进行初始化(这一点非常的重要);静态局部变量一般在声明处初始化

    JAVA程序设计课件-变量的作用域.pptx

    同样,类级别的变量(成员变量)在整个类的实例中都是可见的,而局部变量仅在其定义的函数或代码块内可见。\n\n变量的生命周期与其作用域紧密相关。变量的生存期从它被声明的那一刻开始,直到作用域结束。这意味着当...

    java代码-把三个成员变量全部设置为10;

    这里使用`this`关键字是为了区分局部变量和成员变量。 4. **封装与可读性**: 通过这种方式设置成员变量,体现了面向对象编程中的封装原则,即隐藏实现细节,只提供必要的接口。将初始值设为10有助于提高代码的...

    c语言关键字的用法详解.pdf

    局部静态变量在C/C++中有三点不同于auto类型(普通)局部变量: 1. 存储空间分配不同:auto类型分配在栈上,属于动态存储类别,占动态存储区空间,函数调用结束后自动释放,而static分配在静态存储区,在程序整个...

    C++ static 用法总结

    与 auto 类型(普通)局部变量相比,static 局部变量有三点不同: 1. 存储空间分配不同:auto 类型分配在栈上,属于动态存储类别,占动态存储区空间,函数调用结束后自动释放,而 static 分配在静态存储区,在程序...

    计算机85黄腾2186113623.pdf

    这一点在实验中通过观察静态成员变量的地址不变来得到验证,说明不同对象访问的是同一个存储位置的数据。静态成员函数则仅能访问静态数据成员和其他静态成员函数。 2. 对象:对象是类的实例,通过类定义可以创建多...

    每日一题Java方向选择题答案day011

    例如,局部变量存储在栈区,实例变量(成员变量)存储在堆区,静态变量(类变量)存储在方法区。题目中提到了变量的作用域和初始化状态,强调了对变量的理解。 【Java类型转换和默认值】 Java中,如果不明确指定,...

    java数据类型,变量,数组详解区别(很全面)

    - **局部变量**:在方法、构造函数或块内声明的变量,只在其内部可见。 - **成员变量**:类级别的变量,可以在类的任何位置访问。 #### 六、数组 数组是一种容器对象,用于存储固定数量的相同类型的数据项。 **...

    C/C++static详解

    与 auto 类型(普通)局部变量相比,static 局部变量有三点不同: 1. 存储空间分配不同:auto 类型分配在栈上,属于动态存储类别,占用动态存储区空间,函数调用结束后自动释放,而 static 分配在静态存储区,在...

    Java代码分析[归类].pdf

    2. 访问修饰符与局部变量:局部变量不能有任何访问修饰符。在示例中,`private String s = "";` 应该去掉 `private` 关键字,因为局部变量仅在方法内部可见。 3. 抽象方法与私有修饰符(Private Modifiers):抽象...

    java中this&super的区别.txt

    - 当局部变量名与成员变量名相同时,可以通过`this`关键字来明确地访问成员变量。 - 示例:在上面的部分内容中,`DemoThis`类的构造函数中使用了`this.name = name;`来确保将传入的参数赋值给类的成员变量`name`,...

    C、C++面试题

    而在C++中,**static**还能用于类的成员变量和成员函数,使其成为静态成员,能够在多个对象实例之间共享状态。 #### 面试题5:C中的malloc与C++中的new的区别 - **malloc**和**free**是C语言的函数,用于动态内存...

    C语言面试题大汇总之华为面试题

    局部变量能否和全局变量重名? **知识点总结:** - **局部变量与全局变量重名的情况:** 在C语言中,局部变量可以与全局变量具有相同的名称。在这种情况下,局部变量会覆盖或“屏蔽”全局变量,也就是说,在函数...

    C++面试题集锦(非常详细)

    3. **静态成员变量和函数**: - **静态成员变量**:属于类而不是实例,所有对象共享同一个副本。 - **静态成员函数**:可以在不创建类实例的情况下调用,不访问非静态成员变量。 4. **静态局部变量与普通局部变量...

    精品资料(2021-2022年收藏)面向对象技术Java期末复习试卷四.docx

    选项B和C正确描述了抽象方法与接口的特性,而选项D正确指出接口中的成员变量默认是常量。 4. 类型转换与继承:在Java中,子类是父类的实例,因此可以将子类对象赋值给父类引用。题目中,`Circle`是`GeometricObject...

    二级C语言部分知识点以及易错题目.docx

    这种变量被称为静态局部变量,它的生命周期贯穿整个程序执行,而不是像普通局部变量那样在函数退出时被销毁。因此,每次调用函数时,静态局部变量都会保留上次调用时的状态。 C语言不支持函数嵌套,即一个函数内不...

    Java面向对象程序设计8.ppt

    例如,方法内的局部变量只在该方法内有效,而类级别的变量(也称为成员变量)在整个类中都可用。 构造器是类的一个特殊方法,它的主要任务是在创建新对象时进行初始化。构造器的名字与类名相同,且不返回任何值。...

    华为笔试题含答案 [C]

    这意味着在局部变量的作用域内(如函数体内部),引用该变量时,实际上引用的是局部变量而不是全局变量。 - 如果需要在函数内部访问全局变量,可以使用“::”语法(虽然这在C++中更常见)。在C语言中,通常通过明确...

Global site tag (gtag.js) - Google Analytics