全局变量、成员变量、类变量、静态变量、实例变量、局部变量的定义与区别
全局变量
全局变量又叫成员变量,它是声明在类里,函数,静态语句块外的变量,全局变量又分为类变量(静态变量)、实例变量两种.
通过代码来看一下:
private int i;//实例变量
private static int j;//类变量
实例变量总是通过对象来访问,因为它们的值在对象和对象之间有所不同。而由static修饰的类变量(静态变量)在类装载的时候就会被初始化,也就是说一处修改多处改变.
局部变量
方法内定义的变量叫局部变量,因为只能在方法内部使用,固不可以用private,public,protect来修饰。
{int k;//局部变量
}
类变量
类变量:又叫静态变量 用static修饰 它可以直接用类名调用 也可以用对象调用 而且所有对象的同一个类变量都是共享同一块内存空间的.
实例变量
实例变量:不用static修饰 它只能通过对象调用 而且所有对象的同一个实例变量是共享不同的内存空间的.
下面是它们之间的思维导图关系。
全局变量和局部变量的区别
- 全局变量:
- 1、成员变量定义在类中,在整个类中都可以被访问。
- 2、成员变量随着对象的建立而建立,随着对象的消失而消失,存在于对象所在的堆内存中。(实例变量)
- 3、成员变量有默认初始化值。
- 局部变量:
- 1、局部变量只定义在局部范围内,如:函数内,语句内等,只在所属的区域有效。
- 2、
局部变量存在于栈内存中,作用的范围结束,变量空间会自动释放。如果局部变量类型为基本数据类型,那么存储在栈内存,如果为引用数据类型,那么存放的是指向堆内存对象的引用或者是指向常量池中的地址
- 3、局部变量没有默认初始化值
实例变量和类变量的区别
- 1、两个变量的生命周期不同
实例变量随着对象的创建而存在,随着对象的回收而释放。
静态变量随着类的加载而存在,随着类的消失而消失。 - 2、调用方式不同
实例变量只能被对象调用。
静态变量可以被对象调用,还可以被类名调用。 - 3、数据存储位置不同
实例变量存储在堆内存的对象中,所以也叫对象的特有数据。
静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。
全局变量、成员变量、类变量、静态变量、实例变量、局部变量的定义与区别相关推荐
- 编写Java程序,创建Dota游戏中的兵营类,兵营类有一个类成员变量count、一个实例变量name和另一个实例变量selfCount。
返回本章节 返回作业目录 需求说明: 创建Dota游戏中的兵营类 兵营类有一个类成员变量count.一个实例变量name和另一个实例变量selfCount. count表示的是兵营已经创建士兵的总数: ...
- Java静态变量(类变量)和实例变量的定义、区别及联系
一.静态变量和实例变量的区别 1.静态变量也叫做类变量,独立于方法之外的变量,有static修饰.实例变量同样也是独立于方法之外的变量,但没有static修饰. 实例变量属于某个对象的属性,必须创建了 ...
- 静态与实例变量的区别——(面试题)
静态变量与实例变量(方法)的区别 这道题主要考察的是我们对于static静态关键字是如何理解的(分为以下三点) 一.语法区别: 静态变量前要加static关键字,实例则不用 二.隶属区别: 实例变量属 ...
- java:静态方法,静态变量,实例方法,实例变量的关系 ----李雪
下面的例子可以解释这几个的关系 public class Test { int a= 8; static int b = 10; Test(){ } //静态方法 public static void ...
- 静态与实例变量的区别——(概述)
静态变量与实例变量(方法)的区别 这道题主要考察的是我们对于static静态关键字是如何理解的(分为以下三点) 一.语法区别: 静态变量前要加static关键字,实例则不用 二.隶属区别: 实例变量属 ...
- C++ const关键字的总结(全局/局部变量、修饰指针和引用、成员函数和数据成员、修饰类对象、const与宏定义的区别、Static与Const的区别)
const关键字 const关键字 1.什么是const 2.使用原理 2.1.const全局/局部变量 2.2.cosnt修饰指针和引用 2.3.const修饰函数参数 2.4.const修饰函数返 ...
- java中类变量局部量_java入门---变量类型类变量局部变量实例变量静态变量
在Java语言中,所有的变量在使用前必须声明.声明变量的基本格式如下: typeidentifier[= value][, identifier[= value]...]; 格式说明:type为Jav ...
- java实例变量成员变量_Java的类成员变量、实例变量、类变量,成员方法、实例方法、类方法...
总是被这些相似的概念搞晕,查阅了资料后做个小总结,以变量为例,方法辨析类似. 1.多胞胎名字汇总辨析 成员变量和成员方法是范围最大的定义,提到成员变量就可以理解成你所定义在一个类体中的各类变量的统称, ...
- pythonclass全局变量_python的局部变量,全局变量,类变量,实例变量
定义: a.全局变量:在模块内.在所有函数外面.在class外面,这就是全局变量. b.局部变量:在函数内.在class的方法内(未加self修饰的),这就是局部变量. c. 静态变量:在class内 ...
最新文章
- MPB:亚热带生态所谭支良、焦金真等-​反刍动物瘤胃样品采集与保存
- REST 架构是什么
- mysql与php驱动,用PHP和MySQL构建一个数据库驱动的网站(四)-PHP教程,PHP基础
- dNet命令行编译命令CSC使用详细图解
- 软件配置管理七重境界
- 腾讯、阿里、网易、杰士邦等30家中秋月饼设计盘点!(完整版)
- C++中父类的虚函数必需要实现吗?
- react中的state、props、ref
- sql truncate_SQL Truncate和SQL Delete语句的内部
- Eclipse中Tab的配置(设置为按一下Tab键,效果是按4次空格,而不是4个空格的缩进)
- Spring框架学习笔记6-AOP编程-AspectJ方式
- C2P工业云进销存管理有什么优势?
- C#第九天面向对象的学习
- videojs播放rtmp视频流,解决TypeError: this.el_.vjs_getProperty is not a function错误
- android圆形头像边框,利用Android中BitmapShader制作自带边框的圆形头像
- 转:如何在艰难时期留住好员工
- 独木舟上的旅行java_贪心算法--独木舟上的旅行
- 面对妖艳的配置文件,python小技巧来帮你!
- java meta-inf作用_java - META-INF的目的是什么?
- ORA-3136错误解决