java中常量和变量的区别_Java中三种变量
Java语言支持的变量类型有:
- 类变量:独立于方法之外的变量,用 static 修饰。
- 实例变量:独立于方法之外的变量,不过没有 static 修饰。
- 局部变量:类的方法中的变量。
类变量
类变量,也叫静态变量,在类中用static关键字声明,但是它在方法、构造器或者块之外。
每个类只有一个类变量,不管这个类有多少个对象。除了作为常量被声明之外,类变量很少被应用。常量是被作为public、private、final和static被声明的变量。实例变量的初始值不会被改变
静态变量存储在静态内存中,很少采用静态变量而不是声明结束或者用常量public或private之一。静态变量随着程序的开始而开始,随着程序的结束而结束。
可见性和实例变量类似。然而大多数静态变量被声明为public由于他们必须为类的使用者所用。默认值和实例变量类似,除此之外,可以在特殊的静态初始化区赋值,静态变量可以用类的名称访问ClassName.VariableName
当静态变量被作为public static final声明时,变量(常量)名称都要用大写字母。如果静态变量不是public和final,它的命名方法和实例变量和本地变量相同。
类变量不仅可以直接通过类名+点操作符+变量名来操作,也可以通过类的实例+点操作符+变量来操作,大多数情况下,采用前者操作方式,一来不能够有效地使用该变量,二来能够表示该变量就是类变量。
实例变量
实例变量:在类中声明,但是它在方法、构造器或者块外,当堆中的对象被分配了一个空间时,每个实例变量的位置就被创建了。
当对象采用关键字“new”创建时实例变量就被创建了,当对象被销毁时它也就被销毁了。
实例变量的值必须被一个以上的方法、构造器或者块,或者类中必须出现的对象的状态的重要部分所引用。实例变量可以使用访问描述符,并且有默认值。数字的默认为0,boolean的默认为false,对象引用默认值为NULL。
实例变量可以直接采用在类中叫名字方式访问。然而在静态方法和不同的类中应当使用完全限定名称。
ObjectReference.VariableName
实例变量是归属于类的实例的变量,又称为成员变量,没有经过static修饰。实例变量只能通过类名的实例+点操作符+变量来操作。
局部变量
局部变量就是本地变量,在方法、构造器或者块中使用,在方法、构造器或者块进入时被创建,一旦退出该变量就会被销毁,局部变量没有默认值,因此本地变量必须被声明并且在第一次使用前要给它赋值
示例
-
java中常量和变量的区别_Java中三种变量相关推荐
- java中为什么需要常量和变量的区别_Java中的变量和常量
1.变量(variable) 变量,顾名思义,就是变化的量. 我们可以通过变量来操作存储空间中的数据,变量就是指代这个存储空间,一旦你定义了一个一个变量,那么空间的位置就确定了,虽然空间位置是确定的, ...
- java中为什么需要常量和变量的区别_Java中常量和最终变量之间的区别?
Java中的常量 常量变量是其值固定的变量,程序中仅存在一个副本.声明常量变量并为其分配值后,就无法在整个程序中再次更改其值. 与C语言不同,Java(直接)不支持常量.但是,您仍然可以通过声明变量s ...
- java中string 和stringbuffer的区别_Java中的String,StringBuilder,StringBuffer三者的区别...
最近在学习Java的时候,遇到了这样一个问题,就是String,StringBuilder以及StringBuffer这三个类之间有什么区别呢,自己从网上搜索了一些资料,有所了解了之后在这里整理一下, ...
- Java传统的io和nio区别_Java中IO和NIO的本质和区别
简介 终于要写到java中最最让人激动的部分了IO和NIO.IO的全称是input output,是java程序跟外部世界交流的桥梁,IO指的是java.io包中的所有类,他们是从java1.0开始就 ...
- JAVA中重写和实现的区别_Java中重载和重写的区别
Java中重载和重写的区别 1.1重载是什么 Overloading 方法重载是让类以统一的方式处理不同类型数据的一种手段,多个同名函数同时存在,具有不同的参数个数/类型 1.2为什么用重载 重载 ...
- java静态变量和实例变量的区别_Java 中静态变量和实例变量区别
静态变量属于类,该类不生产对象,通过类名就可以调用静态变量. 实例变量属于该类的对象,必须产生该类对象,才能调用实例变量. 在程序运行时的区别: 实例变量属于某个对象的属性,必须创建了实例对象,其中的 ...
- java中堆与栈的区别_java中堆和栈的区别分析
堆和栈是Java数据结构里非常重要的概念,本文较为详细的分析了二者之间的区别.供大家参考.具体如下: Java的堆是一个运行时数据区,类的(对象从中分配空间.这些对象通过new.newarray.an ...
- java静态类和非静态类的区别_Java中静态内部类和非静态内部类到底有什么区别?...
内部类(Inner Class)和静态内部类(Static Nested Class)的区别: 定义在一个类内部的类叫内部类,包含内部类的类称为外部类.内部类可以声明public.protected. ...
- java可比较的和比较器的区别_Java中Compareable和Comparator两种比较器的区别
对于JDK8而言,有三种实现对象比较的方法: 1.在需要比较的对象类中覆写Object类的equals()方法: 2.需要比较的类继承Comparable接口,然后在其类内部实现compareTo() ...
- java中break和return的区别_java 中return和break的区别
在java的方法中,分为带返回参数和无返回参数两种方法.在带返回参数的方法体中,需要用return来返回该参数并表示该方法体执行完毕,该方法体中return后的语句将不会被执行.在无返回参数的方法中, ...
最新文章
- Hat’s Words(字典树)
- c# 大数据量比较时-方案
- React 组件学习
- 最长上升子序列(LIS)长度
- YBTOJ:字符匹配(KMP)
- 【hue】Bad status: 3 (PLAIN auth failed: Error validating LDAP user)
- 我现在在乡镇上班,但是是事业编,我该怎么办?该放弃这份工作吗?
- Clion添加Posix消息队列的-lrt连接
- 如何解决金山词霸与卡巴斯基的冲突问题
- webstorm破解方法
- 绘制自己的人际关系图_如何系统的绘制自己的人际关系网络图?
- OV2640摄像头模块
- 电脑模拟收银机_机场收银模拟器下载
- 如何批量将多个 Excel 文档快速合并成一个文档
- 电流探头的主要指标及应用场合
- 神经网络模型(TensorFlow)
- Spring OAuth2 授权服务器配置详解
- 【技巧】EXCEL如何按行找出最大三个数并标记
- 图像识别-纯数字识别
- 基于肌肉骨骼模型的预测仿真