static int和static final int的区别
区别 int static Final
2023-09-14 09:07:42 时间
1.static变量
按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量;另一种是没有被static修饰的变量,叫实例变量。两者的区别是:
对于静态变量在内存中只有一个拷贝(节省内存),JVM只为静态分配一次内存,在加载类的过程中完成静态变量的内存分配,可用类名直接访问(方便),当然也可以通过对象来访问(但是这是不推荐的)。对于实例变量,没创建一个实例,就会为实例变量分配一次内存,实例变量可以在内存中有多个拷贝,互不影响(灵活)。
2,final变量:
当你在类中定义变量时,在其前面加上final关键字,那便是说,这个变量一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引用不可再变。其初始化可以在两个地方,一是其定义处,也就是说在final变量定义时直接给其赋值,二是在构造函数中。这两个地方只能选其一,要么在定义时给值,要么在构造函数中给值,不能同时既在定义时给了值,又在构造函数中给另外的值。
当函数参数为final类型时,你可以读取使用该参数,但是无法改变该参数的值。
另外方法中的内部类在用到方法中的参变量时,此参变也必须声明为final才可使用
3.static final int 一般用于常量定义
相关文章
- Java基础之int和Integer有什么区别
- 取反!和按位取反~的区别[通俗易懂]
- int和int32的区别_int float double char区别
- uint和int的区别_int32和uint32
- 【说站】java集合和数组的区别
- pcie和minipcie区别_minipcie接口定义
- vue双向绑定数组和对象有什么区别_后端接收前端json数据
- ES5/ES6的继承除了写法以外还有什么区别
- Angular RouterModule.forRoot(ROUTES) 和 forChild(ROUTES)的区别
- 【BLE学习笔记】BLE协议中的16位UUID和128位UUID有啥区别?
- Mysql数据库int(1)和tinyint(1)的区别&&扩展阅读详解数据库
- MVC和三层架构区别和联系详解架构师
- 正则化方法:L1和L2 regularization及区别、数据集扩增、dropout详解大数据
- C语言const int *a和int*const a 的区别详解
- MySQL时间转换成INT的方法(mysql时间转int)
- MySQL数据类型转换为Int(mysql转int)
- Oracle数据库中的INT类型(oracle的int类型)
- MySQL数据类型技巧:从String转换到Int(mysql转换成int)
- 深入学习Oracle乐观悲观锁的区别与应用(Oracle乐观悲观锁)
- 盗版MSSQL与正版MSSQL: 两者的差异(盗版与正版mssql区别)
- 【建立流畅的 Linux 之旅——探索内在的 Int 能量】(int linux)
- MySQL中INT数据类型长度的详解(mysql中int 长度)
- MySQL中的Int 11数据类型详解(mysql中int 11)
- 探索Oracle数据库中无限的Int范围(int范围 oracle)
- 键Oracle中主键与唯一键的区别(oracle中主键和唯一)
- 值Oracle INT最大值的极限2147483647(oracle int最大)
- 一文看懂AR/VR/MR的区别,设计过程都有哪些坑?
- php下intval()和(int)转换使用与区别
- javascript函数声明与函数表达式的区别介绍
- c#中(int)、int.Parse()、int.TryParse、Convert.ToInt32的区别详解