很多时候会容易把static和final关键字混淆,static作用于成员变量用来表示只保存一份副本,而final的作用是用来保证变量不可变。看下面这个例子:
public class Test { public static void main(String[] args) { MyClass myClass1 = new MyClass(); MyClass myClass2 = new MyClass(); System.out.println(myClass1.i); System.out.println(myClass1.j); System.out.println(myClass2.i); System.out.println(myClass2.j); } } class MyClass { public final double i = Math.random(); public static double j = Math.random(); }
运行这段代码就会发现,每次打印的两个j值都是一样的,而i的值却是不同的。从这里就可以知道final和static变量的区别了。
Static与Final关键字解析
本文通过实例对比了Java中static和final关键字的区别。static用于创建只有一份副本的成员变量,而final则确保变量不可变。通过MyClass类的两个变量i和j,演示了每次运行时i值变化,j值保持一致的现象。


被折叠的 条评论
为什么被折叠?



