局部变量

  • 局部变量声明在方法、构造方法或者语句块中
  • 局部变量在方法、构造方法、或者语句块被执行的时候创建,当它们执行完成后,变量将会被销毁;
  • 访问修饰符不能用于局部变量;
  • 局部变量只在声明它的方法、构造方法或者语句块中可见;
  • 局部变量是在栈上分配的。
  • 局部变量没有默认值所以局部变量被声明后,必须经过初始化,才可以使用。(C++也是这样)

实例变量

  • 实例变量声明在一个类中,但在方法、构造方法和语句块之外;
  • 当一个对象被实例化之后,每个实例变量的值就跟着确定;
  • 实例变量在对象创建的时候创建,在对象被销毁的时候销毁;
  • 实例变量的值应该至少被一个方法、构造方法或者语句块引用,使得外部能够通过这些方式获取实例变量信息;
  • 实例变量可以声明在使用前或者使用后;
  • 访问修饰符可以修饰实例变量;
  • 实例变量对于类中的方法、构造方法或者语句块是可见的。一般情况下应该把实例变量设为私有。通过使用访问修饰符可以使实例变量对子类可见;
  • 实例变量具有默认值。数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是null。变量的值可以在声明时指定,也可以在构造方法中指定;
  • 实例变量可以直接通过变量名访问。但在静态方法以及其他类中,就应该使用完全限定名:ObejectReference.VariableName。

类变量(静态变量)

  • 类变量也称为静态变量,在类中以static关键字声明,但必须在方法构造方法和语句块之外。
  • 无论一个类创建了多少个对象,类只拥有类变量的一份拷贝。
  • 静态变量除了被声明为常量外很少使用。常量是指声明为public/private,final和static类型的变量。常量初始化后不可改变。
  • 静态变量储存在静态存储区。经常被声明为常量,很少单独使用static声明变量。
  • 静态变量在第一次被访问时创建,在程序结束时销毁。
  • 与实例变量具有相似的可见性。但为了对类的使用者可见,大多数静态变量声明为public类型。
  • 默认值和实例变量相似。数值型变量默认值是0,布尔型默认值是false,引用类型默认值是null。变量的值可以在声明的时候指定,也可以在构造方法中指定。此外,静态变量还可以在静态语句块中初始化。
  • 静态变量可以通过:ClassName.VariableName的方式访问。
  • 类变量被声明为public static final类型时,类变量名称一般建议使用大写字母。如果静态变量不是public和final类型,其命名方式与实例变量以及局部变量的命名方式一致。

1.java局部变量 实例变量 类变量(静态变量)相关推荐

  1. 成员变量、局部变量、实例变量、静态变量、类变量、常量

    成员变量: 直接在类中声明的变量叫成员变量(又称全局变量) ▲ 初始化: 如果未对成员变量设置初始值,则系统会根据成员变量的类型自动分配初始值:int分配初始值0.boolean分配初始值false, ...

  2. java如何区分变量、成员变量、实例变量、静态变量、静态常量(类变量)、常量、静态常量、字段、属性

    文章目录 一.概念区分 0.变量 1.成员变量 2.实例变量 3.静态变量.类变量 4.常量 5.静态常量 6.字段 7. 属性 8.局部变量 二.代码示例 一.概念区分 0.变量 通常说的变量,就是 ...

  3. 实例变量、静态变量、局部变量的生命周期

    文章目录 前言 一.静态变量和实例变量的生命周期 二.局部变量的生命周期 三.总结 前言 本篇内容出自<Java面向对象编程:孙卫琴>第三章部分内容,目的是带你搞懂实例变量.静态变量.局部 ...

  4. jni java共享变量_JNI/NDK开发指南(七)——C/C++访问Java实例变量和静态变量 .

    在上一章中我们学习到了如何在本地代码中访问任意Java类中的静态方法和实例方法,本章我们也通过一个示例来学习Java中的实例变量和静态变量,在本地代码中如何来访问和修改.静态变量也称为类变量(属性), ...

  5. jni java共享变量_Android JNI开发系列(十)JNI访问 Java 实例变量和静态变量

    JNI访问 Java 实例变量和静态变量 Java 中的实例变量和静态变量,在本地代码中如何来访问和修改.静态变量也称为类变量(属性),在所有实例对象中共享同一份数据,可以直接通过类名.变量名来访问. ...

  6. Python 类变量,成员变量,静态变量,局部变量

    python中类变量和成员变量.局部变量总结 转载自:https://www.cnblogs.com/clarenceyang/p/9685543.html 作者: 勿忘-前行 class Membe ...

  7. Java中合理使用局部变量替代成员变量、静态变量

    故事起因 一个Java类中可以存在多种形式的变量,可以是最一般的成员变量.或静态变量.或临时变量.如下图: public class VariableDemo {static int staticVa ...

  8. Java非静态变量给静态变量赋值

    @Value注解介绍: 作为Spring的一个常用注解,其作用是通过注解将常量.配置文件中的值和其他bean的属性值注入到变量中,作为变量的初始值. @Value("${login.name ...

  9. Java 成员变量和静态变量的区别

    文章目录 Java 成员变量和静态变量的区别 变量声明默认值 与 Python 的联系 实例变量的声明 类变量的声明 static 方法 Java 成员变量和静态变量的区别 1)成员变量所属于对象.所 ...

最新文章

  1. Python 常用代码片段
  2. WinCE启动失败的原因与解决办法分析
  3. java线程问题小结-----常见面试问题
  4. 2021亚太内容分发大会 阿里云荣获三项大奖
  5. HTML5实战——canvas 绘制钟表
  6. Linux系统中Oracle数据库使用SELECT语句检索数据(1)实例应用
  7. 第 5-5 课:线程安全——synchronized 和 ReentrantLock + 面试题
  8. 剥开浮躁表面,直指金融科技内心
  9. 爬虫-cookie与session的功能与用途
  10. 开发好能重构的代码,都是这么干的
  11. java开发web使用struts2,springMVC和spring,Jquery的理由?
  12. 计算机键盘字母记忆,键盘26个字母口诀是怎样的?
  13. java验证码 验证
  14. Termux新/旧版下载地址及其附属包下载地址归总(附低版本aarch64安装包地址)
  15. 斐讯N1强制刷机-免拆版
  16. NLP中的主题模型理解
  17. 客户协作 over 合同谈判
  18. CCNP 15 交换机3
  19. 什么是服务器?服务器有哪几种类型?
  20. Java 中多态的概念以及前提条件

热门文章

  1. 设置函数环境——setfenv
  2. Microsoft主要服务器产品使用的网络端口
  3. glutSolidSphere 用例
  4. 自相关矩阵和互相关矩阵的matlab实现
  5. 使用 ACE 库框架在 UNIX 中开发高性能并发应用
  6. 完善Linux/UNIX审计 将每个shell命令记入日志
  7. VC++使用Soap ToolKit3.0调用WebService接口
  8. UNICODE转多字节
  9. 更有效的加载较大的Bitmap
  10. 包r语言_R语言代码共享:制作R包