zoukankan      html  css  js  c++  java
  • 0020 Java学习笔记-面向对象-变量

    变量分为哪些

    • 成员变量:类里面,方法外面定义的变量
      • 实例变量:没有用static修饰的变量,属于对象;存在期:创建实例~销毁实例;作用域:与该实例的生存范围相同
      • 类变量:用static修饰的变量,属于类;存在期:类的准备阶段~销毁该类;作用域:与类的生存范围相同
    • 局部变量:
      • 形参:方法签名中声明的变量;作用域:整个方法内
      • 方法局部变量:方法体内部声明的变量;作用域:定义该变量之处~方法结束
      • 代码块局部变量:由花括号括起来的代码块内部声明的变量;作用域:定义该变量之处~代码块结束
    • 变量命名:
      • 有意义;首字母小写+驼峰命名法

    成员变量

    • 在书写类时,不需要将成员变量初始化
    • 在类的准备阶段(类变量)或者创建实例(实例变量)时,会进行默认初始化

    局部变量

    • 形参:在调用方法时,会传入参数,因而不需要初始赋值
    • 方法局部变量+代码块局部变量:在使用前,得先给个初始值
    • 局部变量只保存基本类型或者对象的引用,所占的内存区域较小

    变量的重名

    • 成员变量不能重名,即使一个类变量,一个实例变量
    • 形参与形参不能重名
    • 方法局部变量不能重名
    • 形参与方法局部变量不能重名
    • 代码块内部的变量只在代码块内部有效,不能与外部的变量重名
    • 成员变量与局部变量可以重名,成员变量会被局部变量覆盖;要做区分时,用this.成员变量或者类名.成员变量来访问成员变量

    变量的使用规则

    • 使用成员变量:
      • 用于描述某个类或对象的固有信息;类相关的变量定义为类变量,比如人都有2个眼睛;实例相关的变量定义为实例变量
      • 保存某个类或对象的状态信息的变量
      • 需要在多个方法间进行共享的变量
    • 局部变量:
      • 尽可能缩小局部变量的作用范围,在内存中的停留时间越短,性能越好

    其他

    • 类在使用之前要经过:类加载、类验证、类准备、类解析、类初始化等阶段
    • 栈内存中的变量,无序系统垃圾回收,随方法或代码块的运行结束而结束
  • 相关阅读:
    Magento:Paypal付款不成功返回后不要清空购物车产品的解决方案
    magento设置订单状态
    linux下查看所有用户以及用户组
    网站无法访问的原因
    magento 多域名多店铺
    linode空间lamp环境的搭建
    hp p410固件更新
    tracert
    镜像架设
    nohup
  • 原文地址:https://www.cnblogs.com/sonng/p/6068951.html
Copyright © 2011-2022 走看看