文章目录

  • 前言
  • 一、java中变量分类
  • 二、三者的区别与联系
    • 1.静态变量、实例变量、局部变量区别
    • 2.成员变量的两种细分类型的区别
  • 总结

前言

变量是内存当中存储数据最基本的单元,将数据(字面量)放到内存当中,给这块内存空间起一个名字,这就是变量。
变量就是内存当中的一块空间,这块空间有名字、有类型、有值,这也是变量必须具备的三要素。


一、java中变量分类

java中的变量可分为三类:局部变量、静态变量、实例变量。

首先,变量根据声明的位置不同可以分为:局部变量和成员变量。在方法体当中声明的变量以及方法的每一个参数都是局部变量。在方法体外,类体内声明的变量称为成员变量,成员变量声明时如果使用 static 关键字修饰的为静态成员变量(简称静态变量),如果没有 static 关键字修饰则称为实例成员变量(简称实例变量)
示例:

public class VarTest {int x1; // 实例变量,声明时可以不用赋值,有默认值int x2 = 10; // 实例变量static int y1 = 20; // 静态变量,声明时可以不用赋值,有默认值static int y2 = 20; // 静态变量public static void sum(int a, int b){ // 局部变量 a 和 bint num = 100; // 局部变量,声明时必须赋值}
}

二、三者的区别与联系

1.静态变量、实例变量、局部变量区别

静态变量:成员变量的一种,定义在类中方法外,用static修饰,在JVM中属于方法区,声明时有默认的初始化值。
实例变量:成员变量的一种,定义在类中方法外,在JVM中属于方堆中,声明时有默认的初始化值。
局部变量:定义在类中方法中,在JVM中属于栈中,声明时没有默认的初始值,初始化时必须手动赋值。

2.成员变量的两种细分类型的区别

静态变量和局部变量都属于成员变量,那么如何选择合适的类型呢?下面就来谈一下这两者的区别和使用方法。
静态变量,顾名思义就是静止不变的变量,在对象中对于同一个成员变量的数值都一样时,例如定义一个中国人类,每个人的国籍都是中国,就没必要每一个对象中存一份,这样就可以把数据抽离出来将其用静态变量表示,用static修饰。
调用方式:
实例变量只能通过对象名调用,静态变量可以使用类名调用,也可以使用对象名调用,但是不推荐使用对象名调用。

如下(示例):

public class Chinese{String name;//每个人名字不同int age;//每个人的年龄也不同static String nationality = "Chinese";//每个人的国籍相同Chinese(String name,int age){this.name = name;this.age = age;}
}public class Test{Chinese xiaofang = new Chinese("小芳",18);String name = xiaofang.name;String age= xiaofang.age;String nationality = xiaofang.nationality;//不推荐这样写String nationality = Chinese.nationality;
}

总结

变量在使用过程中还需注意以下几点:
定义同名问题:
同一个域中局部变量不能定义为相同的名字,会报错;
同一个域中成员变量也不能定义为相同的名字,会报错
局部变量和成员变量定义的名字可以相同,使用过程中遵循就近原则;
作用域问题
变量的有效范围以大括号为标准,在定义的大括号范围内有效,出了大括号就不认识了。

java三大变量——静态变量、实例变量、局部变量相关推荐

  1. JAVA中 成员变量和和实例变量区别

    java语言支持的变量类型 类变量:独立于方法之外的变量,用 static 修饰. 局部变量:类的方法中的变量. 实例变量(全局变量):独立于方法之外的变量,不过没有 static 修饰. publi ...

  2. java静态变量和实例变量的区别6_java静态变量的与实例变量的区别

    下面的为代码实现 /** * */ package com.b510.test; /** * 在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象, * 其中的实例变量才会被分配空间,才 ...

  3. Java中类变量(静态变量)和实例变量区别

    实例 public class scope {static int a;int b;public static void main(String[] args) {// TODO 自动生成的方法存根a ...

  4. java 中静态变量(类变量)与实例变量 静态方法与实例方法

    静态变量: 在类内部中,方法的外部声明的对象而且加上static; 实例变量: 在类内部中,声明不需要加static; 比如: 1 public class Demo{ 2 3 int i1=0; 4 ...

  5. Java单例模式个人总结(实例变量和类变量)

    Java单例模式 背景知识:Static关键字. 在对于定义类的变量,分为两种,是否具有static修饰的变量: 没有static修饰的变量,通过类的实例化(对象)引用,改变量称为实例变量: 使用st ...

  6. 静态与实例变量的区别——(面试题)

    静态变量与实例变量(方法)的区别 这道题主要考察的是我们对于static静态关键字是如何理解的(分为以下三点) 一.语法区别: 静态变量前要加static关键字,实例则不用 二.隶属区别: 实例变量属 ...

  7. 静态与实例变量的区别——(概述)

    静态变量与实例变量(方法)的区别 这道题主要考察的是我们对于static静态关键字是如何理解的(分为以下三点) 一.语法区别: 静态变量前要加static关键字,实例则不用 二.隶属区别: 实例变量属 ...

  8. Java中的类变量和实例变量的区别

    类变量也叫静态变量,也就是在变量前加了static 的变量: 实例变量也叫对象变量,即没加static 的变量: 区别在于: 类变量和实例变量的区别在于:类变量是所有对象共有,其中一个对象将它值改变, ...

  9. java 多态性 变量_java – 与实例变量的多态性

    参见英文答案 > Overriding member variables in Java                                    10个 这是我写的三个类: pub ...

  10. Java 基础之实例方法,实例变量,类方法,类变量

    实例变量(instance variable) 实例变量:或叫实例域.实例字段(instance field),或叫成员变量(member variable).实例的变量,每个实例的变量可能不同. 实 ...

最新文章

  1. 使用 XML 时尽量避免使用的技术
  2. RESTful Web 服务 - Java (JAX-RS)
  3. xcode w情ndows版,xcode Windows版安装使用介绍
  4. A - 顺序表应用1:多余元素删除之移位算法
  5. 11.Axis客户端接收不同参数类型
  6. 商店管理系统——小组分工及索引卡
  7. url传值的一个问题解决
  8. CorelDRAWX4的VBA插件开发(十三)一键转曲(转全部页面)
  9. a byte of python2微盘_《A Byte of Python》与《简明 Python 教程》PDF版
  10. 微软服务器补丁管理软件,微软IT的补丁管理-MicrosoftDownloadCenter.PDF
  11. reviewboard升级
  12. 【读书笔记】浪潮之巅——方法论篇
  13. 自上而下 or 自下而上?企业部署RPA的2种策略
  14. 推荐2个适合程序员使用的显示器
  15. RLS算法-公式初探
  16. 怎么解决云电脑卡顿的问题?
  17. 用计算机作文教学设计,小学电脑的教案设计
  18. Crypto++库实现AES和RSA加密解密
  19. 北大青鸟 JQuery制作特效 第二章 (上机练习
  20. 数据要素市场的发展及运行

热门文章

  1. 在Delphi中可用FormatDateTime函数的用法
  2. 1.echarts中提示框 series中的pictorialBar的backgroundColor设置图片时不起作用?
  3. 淘宝CDN大规模并发优化学习和点评
  4. 2023春 哈工大计算机系统大作业
  5. 【愚公系列】2023年07月 Pandas数据分析之展示
  6. 解决 Acer 4736ZG 笔记本接投影仪死机的问题
  7. Latex jpg转eps
  8. 某程序员吐槽:买房自己家出400万首付,女朋友家里一分不出还要求加名字,怎么说服女朋友放弃写名?...
  9. 采集练习(十一) php 获得电视节目预告---数据来自电视猫
  10. 开源ThinkMusic搭建音乐网站,并实现公网连接