Java教程

Java中static和final关键字的区别

本文主要是介绍Java中static和final关键字的区别,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

属性(域):

private static int a = 1;

仅有static属性时,代表这是一个静态属性,在JVM的加载阶段会给a赋一个初始值0。只有到了初始化阶段,开始初始化静态属性时,才会给a赋值为1。

private final int a = 1;

关于final的属性其实不太好理解,但是有一个快速记忆的窍门,就是把仅带有final属性的字段就当作不带任何修饰的普通字段,就可以了。但是有区别,区别就是final只能赋值一次,后续不能再有变动。体现在实践上就是final的赋值,只能直接赋值(如上),或者在构造器赋值。

private static final int VALUE_VAR = 1;

关于static final一起用,就把这个理解为不变的常量即可。 

方法:

静态方法和非静态方法区别?(优/缺点) - 知乎

这篇关于Java中static和final关键字的区别的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!