java中fina和static的区别是什么?

2026-01-29 0 33,787

final和static的区别

static作用于成员变量用来表示只保存一份副本,而final的作用是用来保证变量不可变。下面代码验证一下

public class FinalTest {
    public static void main(String[] args)  {
        AA aa1 = new AA();
        AA aa2 = new AA();
        System.out.println(aa1.i);
        System.out.println(aa1.j);
        System.out.println(aa2.i);
        System.out.println(aa2.j);
    }
}
//j值两个都一样,因为是static修饰的,全局只保留一份
//i值不一样,两个对象可能产生两个不同的值,
class AA {
    public final int i = (int) (Math.random()*100);
    public static int j = (int) (Math.random()*100);
}
//结果是 65、23、67、23

final 关键字的好处

  • final 关键字提高了性能,JVM 和 Java 应用都会缓存 final 变量

  • final 变量可以安全的在多线程环境下进行共享,而不需要额外的同步开销

补充:final 关键字可以用于成员变量、本地变量、方法以及类

final 成员变量必须在声明的时候初始化或者在构造器中初始化,否则就汇报编译错误

不能够对 final 变量再次赋值

本地变量必须在声明时赋值

在匿名类中所有变量都必须是 final 变量

final 方法不能被重写

final 类不能被继承

我们都知道final是作用于变量的,结合之前所学的static也在变量方面有所应用,这里我们来讲讲它们之间的区别。为了让大家更直观的有所体会,这里使用了代码示例的展现帮助理解。从小编的角度来看,还是比较推荐final,所以也会有final使用的好处为大家整理了出来。

以上就是关于java中fina和static区别的讲解,同时看了结尾final的优点,相信大部分小伙伴都很想尝试fina的用法啦。

推荐操作环境:windows7系统、java10版,DELL G3电脑。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:以上部本文内容由互联网用户自发贡献,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。投诉邮箱:3758217903@qq.com

ZhiUp资源网 java教程 java中fina和static的区别是什么? https://www.zhiup.top/11207.html

相关