当前位置:网站首页>请你说一下final关键字以及static关键字
请你说一下final关键字以及static关键字
2022-08-04 22:52:00 【去扰嶟】
final关键字
final关键字可以用来修饰类、变量、方法,标志不可变。
修饰类时类是不可继承的,比如String类
修饰方法时其是可继承、但不可重写的,如果不想让哪个方法被重写,就可以使用final来修饰
当final用来修饰变量时,代表该变量不可被改变,一旦获取了初始值,就不能被重新赋值。修饰变量可以是成员变量(类变量、实例变量)、局部变量和形参,修饰成员变量时,要在初始化或代码块或构造器中声明其值,且一旦声明后不可再改,如果没有声明的话,它的值就是默认的值(0,‘\u0000’,false或者是null),这样这个变量就失去了存在的意义。所以Java语法规定在使用final修饰成员变量时,必须要程序员显示指定初始值。修饰类变量时,要在初始化或静态代码块中声明其值,不能在普通代码块中或构造器声明。修饰实例变量时,要在初始化或普通代码块中或构造器中声明其值。不能在静态代码块中声明。系统不会为局部变量进行初始化所以局部变量必须由程序员显式的初始化。当final修饰局部变量在定义时没有指定默认值,可以在后面的代码中对该final变量赋初始值,但只能一次,不能重复赋值;如果final修饰局部变量在定义时已经指定默认值,则后面的代码不能再对该变量赋值。
static关键字
static可以修饰变量、方法、代码块、内部类
修饰变量时,说明变量是独立于对象的静态变量,无论类实例化多少个对象,这个变量只有一份,成为类变量,所有类实例变量共享,如果一个类实例变量改变其值,所有的是实例变量调用的都是改变后的值。可以通过类.类变量的方式调用。
修饰方法时,为静态方法,方法随着类的加载而加载,只加载一次。可以通过类.静态方法的方式调用。
修饰代码块,则为静态代码块,随着类的加载而加载,只加载一次。
修饰内部类,则为静态内部类,它是当调用的时候加载和初始化,只加载一次。
边栏推荐
- good luck
- 得不到你的心,就用“分布式锁”锁住你的人
- The Controller layer code is written like this, concise and elegant!
- 仪表板展示 | DataEase看中国:数据呈现中国资本市场
- 智慧养老整体解决方案
- 【2020】【论文笔记】超表面:多功能和可编程——
- panic: reflect: reflect.Value.SetString using value obtained using unexported field
- 【3D建模制作技巧分享】ZBrush纹理贴图怎么导入
- kernel hung_task死锁检测机制原理实现
- Pytest学习-Fixture
猜你喜欢

【3D建模制作技巧分享】ZBrush如何重新拓扑

未来我们还需要浏览器吗?(feat. 枫言枫语)

养殖虚拟仿真软件提供高沉浸式的虚拟场景互动操作体验学习

如何根据地址获取函数名

PID Controller Improvement Notes No. 7: Improve the anti-overshoot setting of the PID controller
![[Mock Interview - 10 Years of Work] Are more projects an advantage?](/img/fa/2652629d1ff4653aca0d626ac89bf8.jpg)
[Mock Interview - 10 Years of Work] Are more projects an advantage?

双非读者,一举拿下阿里、字节、美团、京东、虾皮offer

【3D建模制作技巧分享】ZBrush模型如何添加不同材质

good luck

golang打开文件和读写文件
随机推荐
Latex快速插入作者ORCID
特征工程资料汇总
从“草原牛”到“数字牛”:蒙牛的数字化转型之道
Qt中的常用控件
The Record of Reminding myself
panic: reflect: reflect.Value.SetString using value obtained using unexported field
typeScript-闭包函数的使用
Redisson
If you can't get your heart, use "distributed lock" to lock your people
正则表达式绕过
I was rejected by the leader for a salary increase, and my anger rose by 9.5K after switching jobs. This is my mental journey
一点点读懂regulator(二)
Both synchronized and ReentrantLock are smooth, because they are reentrant locks, and a thread will not deadlock if it takes the lock multiple times. We need reentrant locks
应用联合、体系化推进。集团型化工企业数字化转型路径
FinClip崁入式搭建生态平台,降低合作门槛
MySQL的JSON 数据类型1
Controller层代码这么写,简洁又优雅!
【3D建模制作技巧分享】ZBrush纹理贴图怎么导入
Kernel函数解析之kernel_restart
kernel问题定位手段总结