开发者社区 问答 正文

java定义的全局变量(引用类型),加不加final有区别吗?什么区别?

public static final U=new U();

public static U=new U(); 没什么区别吧

如果在不同的地方想获得spring同一个容器用定义全局变量的方式可以吗?

展开
收起
a123456678 2016-03-18 16:05:26 4701 分享
分享
版权
举报
2 条回答
写回答
取消 提交回答
  • 加final表示这个变更只能进行一次赋值操作,不可以改变它的值。更重要的是,final会告诉编译器,这个数据是不会修改的,那么编译器就可能会在编译时期就对该数据进行替换甚至执行计算,这样可以对我们的程序起到一点优化。

    如果不加final,那么这个变量可以随时修改他的值,区别主要是可不可以修改他的值。

    用定义全局变量的方式定义一个spring容器,然后在其它地方调用是可以的。

    2019-07-17 19:06:56 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
  • public class UserConstant {
        public static final User FU = new User();
        public static User SU = new User();
     
        public static void main(String[] args) {
            UserConstant.FU = new User(); //此处报编译错误
            UserConstant.SU = new User(); //此处不报错
            //
        }
    }
    2019-07-17 19:06:56 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等