zoukankan      html  css  js  c++  java
  • JAVA面向对象学习——java面向对象概念——成员变量和局部变量

    成员变量和局部变量

    成员变量指的是在类里定义的变量,也就是前面所介绍的field;局部变量指的是在方法里定义的变量。

    变量名称建议第一个单词首字母小写,后面每个单词首字母大写。Java程序中的变量划分如图5.9所示。

    成员变量无须显式初始化,只要为一个类定义了类变量或实例变量,系统就会在这个类的准备阶段或创建该类的实例时进行默认初始化。

    局部变量除形参之外,都必须显式初始化。也就是说,必须先给方法局部变量和代码块局部变量指定初始值,否则不可以访问它们。

    当系统加载类或创建该类的实例时,系统自动为成员变量分配内存空间,并在分配内存空间后,自动为成员变量指定初始值。

    局部变量定义后,必须经过显式初始化后才能使用,系统不会为局部变量执行初始化。

    这意味着定义局部变量后,系统并未为这个变量分配内存空间,直到等到程序为这个变量赋初始值时,系统才会为局部变量分配内存,并将初始值保存到这块内存中。

    与成员变量不同,局部变量不属于任何类或实例,因此它总是保存在其所在方法的栈内存中。

    如果局部变量是基本类型的变量,则直接把这个变量的值保存在该变量对应的内存中;

    如果局部变量是一个引用类型的变量,则这个变量里存放的是地址,通过该地址引用到该变量实际引用的对象或数组。

    栈内存中的变量无须系统垃圾回收,往往随方法或代码块的运行结束而结束。

  • 相关阅读:
    测试及开发中应当要考虑的安全问题
    31、Python之会话管理cookie和session
    Scrapy爬虫框架入门
    30、Python之web框架django进阶篇
    装饰器函数
    函数初始后续与进阶
    函数初识
    文件操作
    日本语自学
    编码,集合
  • 原文地址:https://www.cnblogs.com/xiaobaibailongma/p/15365005.html
Copyright © 2011-2022 走看看